MySQL 是一个关系型数据库管理系统,数据库将数据保存在不同的表中
连接mysql:
myql -u 用户名 -p密码
对库进行的操作:
1.创建数据库
Create database 数据库名;
Create database if not exists 数据库名; 如果数据库名不存在则创建该数据库
##数字名或特殊符号需要使用反引号
2.删除数据库
Drop database 数据库名;
Drop database if exists 数据库名; 如果数据库存在则删除
##可直接在shell界面移动相应目录,让数据库找不到
3.选择进入数据库
Use 数据库名;
mysql -uroot -p123321 数据库名称; #在shell中直接进入指定的数据库
4.查看数据库
Show databases; #视图方式查看
Show databases \G #分成行查看
5.查看自己所在的数据库
Select database();
select now(),user(),database(); #now时间 user用户
6.在shell界面查看数据库
Mysql -e “show databases” -u 用户名 -p密码
对表进行的操作:
1.创建数据表
语法:create table 表名(字段名 类型, 字段名 类型, 字段名 类型);
##int数字类 char 字符串类
CHAR(M)定义的列的长度为固定的,M取值可以为0~255之间。
VARCHAR(M)定义的列的长度为可变长字符串,M取值可以为0~65535之间。
2.查看数据表
Show tables;
3.查看数据表结构
Desc 数据表名;
查看数据表创建时使用的语句
Show create table数据表 \G;
4.删除数据表
Drop table 数据表名; 删除单个数据表
Drop table 数据表1,数据表2;删除多个数据表
mysql -uroot -p123456 -A # A禁止转换数据库的提示信息
5.修改数据表
5.1增加字段
Alter table 数据表名 add 字段名 数据类型;
5.2在某段后面添加一个字段
Alter table 数据表名 add 字段名 after 字段名;
5.3在第一列增加一个字段
Alter table 数据表名 add 字段名 数据类型 first;
5.4删除字段
Alter table 数据表名 drop 字段名;
5.5修改数据表名
Alter table 数据表名 rename 新数据表名;
5.6修改字修改字段数据类型
Alter table 数据表名 modify 字段名 数据类型;
5.7修改字段名
Alter table 数据表名 change 字段名 新字段名 数据类型;
6.数据表中插入数据
6.1插入单条数据
Insert into 数据表名 values(字段值1,字段值2,......);
6.2 插入多条数据
Insert into 数据表名 values(字段值1,.....),(字段值2,...),.....;
插入记录时values所指定的值要和表中字段的个数、顺序以及类型要一一对应。
6.3指定字段插入数据
Insert into 数据表名 (字段1,字段2,...) values(字段1值,字段2值,....);
查询表中的内容
1.查询基本结构
Select [* | 字段名] from 数据表名;
· *:表示所有的字段
Select [* | 字段名] from 数据表名 \G #分行查看
Select [* | 字段名] from 数据库名.表名 #查询别的数据库里的数据表内容
2.删除数据表中的数据
Delete from 数据表名 where 字段名=字段值
如果不写where子句,所有内容都将删除
3.删除特定字段为空的行
Delete from 数据表名 where 字段名 is null
4.更新数据表中的数据
Update 数据表名 set 字段名=字段值 where 字段名=字段值;
如果您省略了 WHERE 子句,所有的记录都将被更新!
5.数据表中的数据去重查询
Select distinct 字段名 from 数据表名;
6.多条件数据表中的数据and查询,所有条件都需满足
Select 字段名 from 数据表名 where 判断条件1 and 判断条件2;
7.or 查询,满足任意一个即可
Select 字段名 from 数据表名 where 判断条件1 or 判断条件2;
8.区分大小写查询
Select 字段名 from 数据表名 where binary 字段名=“值”;
9.查询并结果排序
Select 字段名 from 数据表名 [where ] order by 字段名 desc 降序排名
Select 字段名 from 数据表名 [where ] order by 字段名 asc 升序排名
默认为asc升序排列。