【常用sql语句】

DDL

库操作

命令功能
show databases ;查询所有数据库
mysqldump -uroot -p 数据库名 > “路径\xxx.sql”备份数据库
select database() ;查询当前数据库
drop database [ if exists ] 数据库名 ;删除数据库
use 数据库名 ;切换数据库
create database [ if not exists ] 数据库名 [ default charset 字符集 ] [ collate 排序规则 ] ;创建数据库

表操作

命令功能
show tables;查询当前数据库所有表
desc 表名;查看指定表结构
show create table 表名 ;查询指定表的建表语句
CREATE TABLE 表名(
字段1 字段1类型 [ COMMENT 字段1注释 ],
字段2 字段2类型 [COMMENT 字段2注释 ],
) [ COMMENT 表注释 ] ;
创建表结构
ALTER TABLE 表名 ADD 字段名 类型 (长度) [ COMMENT 注释 ] [ 约束 ];添加字段
ALTER TABLE 表名 MODIFY 字段名 新数据类型 (长度);修改数据类型
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型 (长度) [ COMMENT 注释 ] [ 约束 ];修改字段名和字段类型
ALTER TABLE 表名 DROP 字段名;删除字段
ALTER TABLE 表名 RENAME TO 新表名;修改表名
DROP TABLE [ IF EXISTS ] 表名;删除表
TRUNCATE TABLE 表名;删除指定表, 并重新创建表
select * from employee;查询表数据(SQL语句)

DML

命令功能
INSERT INTO 表名 (字段名1, 字段名2, …) VALUES (值1, 值2, …);给指定字段添加数据
INSERT INTO 表名 VALUES (值1, 值2, …);给全部字段添加数据
INSERT INTO 表名 (字段名1, 字段名2, …) VALUES (值1, 值2, …), (值1, 值2, …), (值1, 值2, …) ;批量添加数据
UPDATE 表名 SET 字段名1 = 值1 , 字段名2 = 值2 , … [ WHERE 条件 ] ;修改数据
DELETE FROM 表名 [ WHERE 条件 ] ;删除数据

DQL

命令功能
SELECT 字段1, 字段2, 字段3 … FROM 表名 ;查询多个字段
SELECT 字段1 [ AS 别名1 ] , 字段2 [ AS 别名2 ] … FROM 表名;字段设置别名(as 可以省略)
SELECT DISTINCT 字段列表 FROM 表名;去除重复记录
SELECT 字段列表 FROM 表名 WHERE 条件列表 ;条件查询
SELECT 字段列表 FROM 表名 [ WHERE 条件 ] GROUP BY 分组字段名 [ HAVING 分组后过滤条件 ];分组查询
SELECT 字段列表 FROM 表名 ORDER BY 字段1 排序方式1 , 字段2 排序方式2 ;排序查询,ASC : 升序(默认值),DESC: 降序
SELECT 字段列表 FROM 表名 LIMIT 起始索引, 查询记录数 ;分页查询,起始索引从0开始,起始索引 = (查询页码 - 1)* 每页显示记录数。第一页起始索引可以省略

聚合函数

函数功能
count统计数量
max最大值
min最小值
avg平均值
sum求和

(NULL值是不参与所有聚合函数运算的。)

select count(*) from emp; -- 统计的是总记录数
select count(idcard) from emp; -- 统计的是idcard字段不为null的记录数

编写顺序和执行顺序

编写顺序:
1,SELECT 字段列表
2,FROM 表明列表
3,WHERE 条件列表
4,GROUP BY 分组字段列表
5,HAVING 分组后条件列表
6,ORDER BY 排序字段列表
7,LIMIT 分页列表
执行顺序:
1,FROM 表明列表
2,WHERE 条件列表
3,GROUP BY 分组字段列表
4,HAVING 分组后条件列表
5,SELECT 字段列表
6,ORDER BY 排序字段列表
7,LIMIT 分页列表

DCL

命令功能
select * from mysql.user;查询用户
CREATE USER ‘用户名’@‘主机名’ IDENTIFIED BY ‘密码’;创建用户
ALTER USER ‘用户名’@‘主机名’ IDENTIFIED WITH mysql_native_password BY ‘新密码’ ;修改用户密码
DROP USER ‘用户名’@‘主机名’ ;删除用户
SHOW GRANTS FOR ‘用户名’@‘主机名’ ;查询权限
GRANT 权限列表 ON 数据库名.表名 TO ‘用户名’@‘主机名’;授予权限
REVOKE 权限列表 ON 数据库名.表名 FROM ‘用户名’@‘主机名’;撤销权限
  • MySQL中需要通过用户名@主机名的方式,来唯一标识一个用户
  • 主机名可以使用 % 通配。
  • 这类SQL开发人员操作的比较少,主要是DBA( Database Administrator 数据库
    管理员)使用。
权限说明
ALL, ALL PRIVILEGES所有权限
SELECT查询数据
INSERT插入数据
UPDATE修改数据
DELETE删除数据
ALTER修改表
DROP删除数据库/表/视图
CREATE创建数据库/表
  • 多个权限之间,使用逗号分隔
  • 授权时, 数据库名和表名可以使用 * 进行通配,代表所有。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值