有时候ubuntu中安装mysql系统会默认用户名和密码,这时我们就需要自己修改密码:
在终端中输入以下命令:
sudo vim /etc/mysql/debian.cnf
会打开配置文件,里面是系统默认的用户名user和密码password:
复制默认的用户名和密码,按下esc键,末行模式输入‘:x’退出配置文件,然后在终端中输入:
mysql -udebian-sys-maint -pVIsR6M6u2M3NOxjp
这时会进入mysql中:
在mysql中逐条输入以下代码,自定义密码是你要设的密码,用户名是root:
show databases;
use mysql;
update user set authentication_string=PASSWORD("自定义密码") where user='root';
update user set plugin="mysql_native_password";
flush privileges;
quit;
然后密码就会修改成功,我们只要在重启一下mysql就可以输入密码进入mysql
重启:/etc/init.d/mysql restart;
数据库连接:mysql -uroot -p密码
数据库基本操作:
# ubuntu安装mysql数据库
# sudo apt-get install mysql-server
# sudo apt-get install mysql-client
# 启动/重启/停止数据库
# sudo service mysql start/restart/stop
# 数据库连接:mysql -u root -p root
# 退出数据库连接:exit/quit/ctrl+d
# ----------------------------------------------------------------------
# 数据类型:
# decimal表示浮点数,如decimal(5,2)表示共存5位数,小数占2位
# 枚举类型(enum),如enum("男","女","中性"),只能选择其中的一个
# varchar表示可变长度的字符串,如varchar(3),填充'ab'时就会存储'ab'
# 约束:
# 主键primary key:物理上存储的顺序
# 默认default:当不填写此值时会使用默认值,如果填写时以填写为准
# auto_increment表示自动增长
# unsigned 表示不能为负数
# --------------------------------------------------------------------
# 创建数据库(charset=utf8 可以输入中文):
# create database 数据库名 charset=utf8;
# 删除数据库:
# drop database 数据库名;
# 查看所有数据库:
# show databases;
# 使用数据库:
# use 数据库名;
# 查看当前使用的数据库
# select database();
# ----------------------------------------------------------------------
# 数据表
# 查看所有数据表:
# show tables;
# 查看表的创建语句:
# show create table 表名;
# 创建表:
# create table 表名(字段1 类型1 约束1,………………);
# 删除表:
# drop table 表名;
# ---------------------------------------------------------------------------
# 查看表的结构:
# desc 数据表名;
# 修改表结构
# 添加字段:
# alter table 表名 add 字段名 类型 约束;
# 修改字段(不重命名):
# alter table 表名 modify 字段名 类型 约束;
# 修改字段(重命名):
# alter table 表名 change 原字段名 新字段名 类型 约束;
# 删除字段:
# alter table 表名 drop 字段名;
# -------------------------------------------------------------------------
# 查看表的内容:
# select * from 表名; ----查看表的所有内容
# select 字段1,字段2 from 表名; -------查看指定字段的所有内容
# select * from 表名 where 字段名=值; ------指定的条件查询
# select 字段1 as 别名1, 字段2 as 别名2 from 表名; ---指定别名和顺序查询字段所有内容
# select distinct 列1,... from 表名;----使用distinct可以消除重复的行
# 插入表内容:
# insert into 表名 values(值1,值2……) ----全列插入:值的顺序与表中字段的顺序对应
# insert into 表名(字段1,字段2) values(值1,值2) ----部分列插入:值的顺序与给出的列顺序对应
# insert into 表名 values(字段1值),(字段2值),(字段3值); ----全列多行插入:值的顺序与给出的列顺序对应
# 修改表内容:
# update 表名 set 字段1=值,字段2=值 where 字段=值(指定修改条件);
# 删除表内容:
# 物理删除
# delete from 表名 where 条件;
# 逻辑删除
# 用一个字段来表示 这条信息是否已经不能再使用了
# 给students表添加一个is_delete字段 bit 类型
# alter table students add is_delete bit default 0;
# update students set is_delete=1 where id=1;