一、SQL的通用语法
通用语法
1.SQL语句可以单行或者多行书写,以分号结尾。
2. SQL语句可以使用空格/缩进来增强语句的可读性。
3. MySQL数据库的SQL语句不区分大小写,关键字建议使用大写。
4.注释:
.单行注释:--注释内容或#注释内容(MySQL特有)
·多行注释:/*注释内容*/
SQL分类
编辑
二、SQL语句-DDL
1、显示所有数据库
show databases;
结果:
编辑
2、使用某个数据库
use jobmessage;
3、创建表
create table 表名(内容)
create table user(
id varchar(10),
name varchar(50),
gender varchar(20),
age varchar(10)
)
结果:
编辑
三、SQL语句-DML
1、插入数据
insert into user (字段)values (数据);
示例:
insert into user (id, name, gender, age) values ('1', '小明','男', '18');
结果:
编辑
2、删除表
drop table 表名;
示例:
drop table user;
3、修改创建表的编码
alter table user default character set utf8;
4、修改表内字段的编码形式
alter table user change id id varchar(20) character set utf8;
alter table user change name name varchar(50) character set utf8;
alter table user change age age varchar(20) character set utf8;
四、SQL语句-DQL
2、查找数据
(1)查询所有数据
select * from 表名;
示例:
select * from user;(不建议使用)
select id,name,gender,age from user;
编辑
(2)查询单列数据
select 字段 from 表名;
示例:
select id from user;
编辑
(3)查询单列数据并按升序排序
select 字段 from 表名 order by 字段 asc
示例:
select age from user order by age asc;
结果:
编辑
(4)查询单列数据并按降序排序
select 字段 from 表名 order by 字段 desc
示例:
select age from user order by age desc;
结果:
编辑
五、用户管理-DCL
用户创建
1、创建用户 itcast,只能够在当前主机localhost访问,密码123456
create user '用户名'@'主机名' identified by '密码';
示例:
create user 'itcast'@'localhost' identified by '123456';
结果:
编辑
2、创建用户 heima,可以在任意主机访问,密码123456
create user '用户名'@'主机名' identified by '密码';
示例:
create user 'heima'@'%' identified by '123456';
编辑
3、修改用户 heima 的访问密码为1234
arter user '用户名'@'主机名' identified with mysql_native_password by '密码';
示例:
alter user 'heima'@'%' identified with mysql_native_password by '123456';
4、删除用户itcast
drop user '用户名'@'主机名';
示例:
drop user 'itcast'@'%'
用户权限
1、查询权限
show grants for '用户名'@'主机名';
示例:
show grants for 'heima'@'%';
结果:
编辑
2、授予权限
grant 权限列表 on 数据库名.表名 to '用户名'@'主机名';
示例:
grant all on itcast.* to 'heima'@'%';
3、撤销权限
revoke 权限列表 on 数据库名.表名 from '用户名'@'主机名';
示例:
revoke all on itcast.* from 'heima'@'%';
六、函数
1、字符串函数
编辑
案例:
1、由于业务需求变更,企业员工的工号,统一为5位数,目前不足5位数的全部在前面补0, 比如:1号员工的工号应该为00001.
代码示例:update user set id = lpad(id, 5, '0');
结果:
编辑
2、数值函数
编辑
案例:
通过数据库的函数,生成一个六位数的随机验证码
代码示例:select lpad(round(rand()*1000000, 0), 6, '0');
结果:
编辑
3、日期函数
编辑
4、流程函数
编辑
create table score(
id int comment 'id',
name varchar(20) comment '姓名',
math int comment '数学',
english int comment '英语',
chinese int comment '语文'
)comment '学员成绩表';
select * from score;
insert into score(id, name, math, english, chinese) values (1, 'Tom', 67, 88, 95),
(2, 'Rose', 23, 66, 98),
(3, 'Jack', 50, 60 ,85),
(4, 'Mack', 60, 49, 90);
--
select
id,
name,
(case when math >= 85 then '优秀' when math >= 60 then '及格' else '不及格' end) '数学',
(case when english >= 85 then '优秀' when english >= 60 then '及格' else '不及格' end) '英语',
(case when chinese >= 85 then '优秀' when chinese >= 60 then '及格' else '不及格' end) '语文'
from score;
结果:
编辑