SQL语句

  1. sql语句可以单行或多行书写
  2. 支持空格/缩进
  3. 不区分大小写
  4. 注释:
  • --# 单行
  • /*多行*/

sql操作

DDL数据库整体操作

SHOW DATABASES; - 查询所有数据库

SELECT DATABASES(); - 查询当前数据库

CREATE DATABASE [IF NOT EXISTS] 数据库名 [DEFAULT CHARSET字符集(UTF8mb4)] [COLLATE 排序规则]; - 创建

DROP DATABASE [IF EXISTS] 数据库名; - 删除

使用USE 数据库名;

title:Example
collapse:open
~~~SQL
CREATE DATABASE ikun DEFAULT CHARSET utf8mb4;
use ikun;
select database();
+------------+
| database() |
+------------+
| ikun       |
+------------+
~~~

SHOW TABLES; - 查表

DESC 表名; - 查表结构

SHOW CREATE TABLE 表名; - 查询指定表的建表语句

DROP TABLE [IF EXISTS] 表名称; - 删除表

创建表

title:Important
collapse:open
~~~SQL
CREATE 表名(
    字段1 字段1类型[COMMENT 字段1注释],
    字段2 字段2类型[COMMENT 字段2注释],
    ...
    字段3 字段3类型[COMMENT 字段3注释],
)[COMMENT 表注释];
~~~

常见数据类型

类型大小描述
INT整数
SMALLINT浮点数
VARCHAR文本
date日期类型
timetamp时间戳类型

SQL注释

  • 单行注释: -- 注释内容
  • 单行注释: # 注释内容
  • 多行注释: /*注释内容*/

DML数据操作

DML:数据增删改操作 插入数据 INSERT INTO 表[(列1, 列2, ......, 列N)] VALUES(值1, 值2, ......, 值N)[, (值1, 值2, ......, 值N), ......, (值1, 值2, ......, 值N)];

CREATE TABLE student(
    id INT,
    name VARCHAR(30),
    age INT
)
 
-- 插入id数据
INSERT INTO student(id) VALUES(1), (2), (3);
-- 插入全部数据
INSERT INTO students(id, name, age) VALUES(10001, '张三', 31), (10002, '李四 ', 33), (10003, '王五', 26);
-- 快捷写法
INSERT INTO student VALUES(10004, '老六', 31), (10005, '小七', 33), (10006, '老八', 26);

删除数据 DELETE FROM 表名称 [WHERE 条件判断]; 判断操作符

= < > <= >= !=

更新数据 UPDATE 表名 SET 列=值 [WHERE 条件判断];

-- from Important1
UPDATE student SET name = '张学友' WHERE id = 10001;
-- 张三被改成张学友

DQL数据查询操作

DQL:查询 基础语法 SELECT 字段列表 | * FROM 表 [WHERE 条件判断]

-- 查询id name 两个列
SELECT id, name FROM student;
-- 查询全部列
SELECT id, name, age FROM student;
-- 查询全部列,快捷
SELECT * FROM student;

DCL分组聚合控制计算

DCL:分组聚合控制计算 将数据分成组通过聚合函数计算输出 SELECT 字段 | [聚合函数, ...] FROM 表 [WHERE 条件] GROUP BY 列 [ORDER BY ... [ASC | DESC]] 聚合函数有:

SUM(列) -- 求和
AVG(列) -- 求平均值
MIN(列) -- 求最小值
MAX(列) -- 求最大值
COUNT(列 | *) -- 求数量

通过 列 分组 GROUP BY 列

通过 列 排序(默认升序) ORDER BY 列 [ASC | DESC]

  • ASC 升序
  • DESC 逆序

通过 n, m 限制输出数据数量(必须写在最后) LIMIT n[, m]

常用数据库SQL语句

插入获取代数据

insert or replace into [表名]
	(变量1, ...)
value
	(数据1, ...);