文章目录
修改表
给表中添加字段
alter table 表名 add 字段名 类型 ( 长度 ) [ 注释 ] [ 约束 ]
修改数据类型
alter table 表名 modify 字段名 新数据类型 ;
修改字段名和字段类型
`alter table 表名 change 旧字段名 新字段名 类型( 长度 ) [ 注释 ] [ 约束 ];
删除字段
ALTER TABLE 表名 drop 字段名
修改表名
alter table 表名 rename to 新表名
删除表
drop table [ if exist ] 表名
truncate table 表名 第二条是初始化表,将表清空
DML
添加数据
给指定字段添加数据
`insert into 表名 ( 字段1 字段二 …) values ( 值1 ,值2)
给全部字段添加数据
insert into 表名 values (值1 ,值2 )
;
批量添加数据
insert into 表名 ( 字段1 字段2 ),values(值1,值2 ) (值1,值2 );指定的字段
insert into 表名 values (值1,值2 )(值1,值2 )(值1,值2 ); 全部字段
字符串和日期类型需要添加引号
修改数据
update 表名 set 字段1 = 值1 ,字段2 = 值2 ...[ where 条件 ]
删除数据
delete from 表名 where 条件;不加
不加条件全删,并且不能删除单个字段的值,会删除一整条数据
DQL
基本查询
查询多个字段
select 字段1,字段二 from 表名
select * from 表名
查询全部数据
设置别名
select 字段1 [as 别名1 ],字段二 [ 别名2 ]...from 表名;
as可以省略
去除重复记录
select distinct 字段列表 from 表名;
条件查询
select 字段列表 from 表名 where 条件列表
条件符号
判断null 使用 is null
!= 也可以使用 <>
占位符要注意一下
聚合函数
语法:
select 聚合函数 (字段列表) from 表名;
null值不参与计算
分组查询
select 字段列表 from 表名 [where 条件 ]group by 分组字段名 [ having 分组后过滤条件 ];
having可以对聚合函数进行判断 , 而having不行
排序查询
select 字段列表 from 表名 order by 字段1,排序方式1,字段2 ,排序方式2
asc 升序 desc 倒序排序
多字段排序中如果第一个字段相同这按第二字段排序,升序asc乐意省略,是默认值
分页查询
select 字段列表 from 表名 limit 起始索引 ,查询记录数
起始索引从0 开始,起始索引=(查询页码-1)*每页记录数;
查询第一页起始索引可以省略;
DQL的执行顺序
DCL
管理用户
查询用户
use mysql;
select * from user;
创建用户
create user '用户名'@'主机名' identified by '密码';
修改用户密码
alter user '用户名'@'主机名' identified with mysql_native_password by '新密码';
删除用户
drop user '用户名'@'主机名';
主机名可以是localhost,也可以是% ,也就是在别的主机上也能用.
权限控制