目录
前言:
前言:
本文是关于我在MySQL学习中学到的简单SQL通用语法。
本人目前是计算机学习的小白一枚,在此和各位一起讨论计算机学习的相关知识,感谢大家点赞评论,感兴趣的可以私聊关注一起学习。
感兴趣学习JAVA项目打包的伙伴可以点击:JAVA项目打包:JAVA代码-jar包-exe应用程序-合并jre与exe生成安装包(图文详解、资源提供)
切入正题:
1.SQL通用语法
- SQL语句可以单行或多行书写,以分号结尾。
- SQL语句可以使用空格/缩进来增强语句的可读性。
- MySQL数据库的SQL语句不区分大小写,关键字建议使用大写。
- 注释:
- 单行注释: -- 注释内容 或 # 注释内容(MySQL特有)
- 多行注释:/*注释内容*/
2.SQL分类
- DDL(Data Definition Language) 数据定义语言,用来定义数据库对象(数据库,表,字段)
- DML(Data Manipulation Language) 数据操作语言,用来对数据库表中的数据进行增删改
- DQL(Data Query Language) 数据查询语言,用来查询数据库中表的记录
- DCL(Data Control Language) 数据控制语言,用来创建数据库用户、控制数据库的访问权限
3.DDL
DDL语句对数据库进行操作
-
查询
查询所有数据库:
SHOW DATABASES;
查询当前数据库:
SELECT DATABASE();
- 创建
CREATE DATABASE [IF NOT EXISTS] 数据库名[DEFAULT CHARSET 字符集] [COLLATE排序规则];
(字符集:utf8、汉字支持三个字节,utf8mb4支持四个字节)
-
删除
DROP DATABASE [ IF EXISTS] 数据库名;
-
使用
USE 数据库名;
DDL语句对表进行查询操作
-
查询当前数据库所有表
SHOW TABLES;
-
查询表结构
DESC 表名;
-
查询指定表的建表语句
SHOW CREATE TABLE 表名;
DDL语句对表进行创建操作
-
创表
CREATE TABLE 表名(
字段1 字段1类型 [COMMENT 字段1注释],
字段2 字段2类型 [COMMENT 字段2注释],
字段3 字段3类型 [COMMENT 字段3注释],
......
字段n 字段n类型 [COMMENT 字段n注释]
) [COMMENT 表注释];
DDL语句对表进行修改操作
- 添加字段
ALTER TABLE 表名 ADD 字段名 类型(长度) [COMMENT注释] [约束];
- 修改数据类型
ALTER TABLE 表名 MODIFY 字段名 新数据类型(长度);
- 修改字段名和字段类型
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型(长度)[COMMENT注释] [约束];
- 删除字段
ALTER TABLE 表名 DROP 字段名;
- 修改表名
ALTER TABLE 表名 RENAME TO 新表名;
DDL语句对表进行删除操作
- 删除表
DROP TABLE [IF EXISTS] 表名;
- 删除指定表,并重新创建该表(删除表的数据保留表的结构)
TRUNCATE TABLE 表名:
4.DML
DML语句对表添加数据
-
给指定字段添加数据
INSERT INTO 表名 (字段名1, 字段名2, ...) VALUES (值1, 值2, ...);
-
给全部字段添加数据
INSERT INTO 表名 VALUES (值1, 值2, ...);
-
批量添加数据
INSERT INTO 表名 (字段名1, 字段名2, ...)VALUES
(值1, 值2, ...),
(值1, 值2, ...),
(值1, 值2, ...);
INSERT INTO 表名 VALUES (值1, 值2, ...), (值1, 值2, ...), (值1, 值2, ...);
DML语句对表修改数据
UPDATE 表名 SET 字段名1 = 值1,字段名2 = 值2 , ....[ WHERE条件];
DML语句对表删除数据
DELETE FROM 表名 [WHERE条件];
5.DQL
DQL语句基本查询
- 查询多个字段
SELECT 字段1,字段2, 字段3 ... FROM 表名;
- 查询所有字段
SELECT * FROM 表名;
- 设置别名
SELECT 字段1 [AS 别名1],字段2 [AS 别名2] ... FROM 表名;
- 去除重复记录
SELECT DISTINCT 字段列表 FROM 表名;
DQL语句条件查询
语法:
SELECT 字段列表 FROM 表名 WHERE 条件列表;
DQL语句聚合函数
语法:
SELECT 聚合函数 (字段列表) FROM 表名;
DQL语句分组查询
语法:
SELECT 字段列表 FROM 表名 [WHERE 条件] GROUP BY 分组字段名[HAVING 分组后过滤条件];
DQL语句排序查询
语法:
SELECT 字段列表 FROM 表名 ORDER BY 字段1 排序方式1, 字段2 排序方式2;
排序方式:
- ASC: 升序(默认值)
- DESC:降序
DQL语句分页查询
语法:
SELECT 字段列表 FROM 表名 LIMIT 起始索引, 查询记录数;
6.DCL
DCL语句管理用户
- 查询用户
USE masql;
SELECT * FROM user;
- 创建用户
CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';
- 修改用户密码
ALTER USER '用户名'@'主机名' IDENTIFIED WITH mysql_native_password BY '新密码';
- 删除用户
DROP USER '用户名'@'主机名';
DCL语句权限控制
- 查询权限
SHOW GRANTS FOR '用户名'@'主机名';
- 授予权限
GRANT 权限列表 ON 数据库名.表名TO‘用户名'@'主机名;
- 撤销权限
REVOKE 权限列表 ON 数据库名.表名 FROM '用户名'@'主机名';