简单创建表
create table emp(
id int comment '编号',
workno varchar(10) comment '工号',
name varchar(10) comment '姓名',
gender char(1) comment '性别',
age tinyint unsigned comment '年龄',
idcard char(18) comment '身份证号',
workaddress varchar(50) comment '工作地址',
entrydate date comment '入职时间'
) comment '员工表';
添加数据
SQL基本语句
一.DDL-表操作-修改,
添加字段:alter table 表名 add nickname varchar(20)comment ’昵称‘;
展示:show tables;
创建:create table 表名;
查看当前表:desc 表名;
删除表:drop table 表名;
二.DML-添加-修改-删除
添加:insert into 表名 (指定字段)(值1,值2);添加全部字段:insert into 表名 values ;
修改:update 表名 set 字段1=值1;
删除:delete from 表名 (where 条件);
三.DQL数据库查询语言
基本查询:select * from 表名;
条件查询:select 字段列表 from 表名 where 条件列表—-select * from 表名 where age=20;、
分组查询:
select gender, count(*) from emp group by gender; /查询男生数量和女生数量各有多少/
select gender, avg(age) from emp group by gender; /查询男生平均年龄和女生平均年龄/
select workaddress, count(*) address_count from emp where age <50 group by workaddress having address_count >=3;
/查询年龄小于50的员工,并根据工作地址分组,获取员工数量大于等于3的工作地址/
排序查询:
select * from emp order by age asc; /按照员工年龄进行升序排序/
select * from emp order by entrydate desc; /按照入职时间进行降序排序/
select * from emp order by age asc ,entrydate desc; /按照年龄进行升序排序,如果年龄相同,按照入职时间进行降序排序/
分页查询:
select * from emp limit 5; /查询第一页数据,每页展示5条数据/
select * from emp limit 5,5; /查询第二页数据,每页展示5条。(页码-1)*页的展示数据数/
编写顺序
DQL-编写顺序
select(字段列表)- from(表名)- where(条件列表)- group by(分组字段列表)- having(分组后条件列表)-
order by(排序字段列表)- limit(分页参数);
四.DCL-管理数据库用户,控制数据库访问,权限
查询用户:use mysql–select * from user;
创建用户:create user ‘用户名’ @ ’主机名‘ identified ’密码‘;
修改密码:alter user ‘用户名’ @ ’主机名‘ identified with mysql native password by ‘新密码‘;
删除用户:drop user ‘用户名’ @ ’主机名‘ ;
权限控制
查询权限:show grants for ‘用户名’ @ ’主机名‘
授予权限:grant 权限列表 on 数据库名.表名 to ‘用户名’ @ ’主机名‘
撤销权限:revoke 权限列表 on 数据库名.表名 from ‘用户名’ @ ’主机名‘ ;