目录
数据库定义语言(DDL)
数据库
- 创建数据库
- CREATE DATABASE IF NOT EXISTS 数据库名 DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
复制代码 - 删除数据库
- 切换数据库
- 查看所有数据库
- 修改数据库编码
- alter database 数据库名 character set utf8
复制代码 表
- 创建表
- create table if not exists
- 表名(
- 列名 数据类型[列级约束条件],
- 列名 数据类型[列级约束条件],
- ...
- [,表级约束条件])
复制代码
- SQL数据类型
- char(n)可以存储任意字符串,但是是固定长度为n,如果插入的长度小于定义长度时,则用空格填充。
- varchar(n)可以存储任意数量字符串,长度不固定,但不能超过n,不会用空格填充。
- smallint用于存储小的整数,范围在 (-32768,32767)
- int用于存储一般的整数,范围在 (-2147483648,2147483647)
- bigint用于存储大型整数,范围在 (-9,223,372,036,854,775,808,9,223,372,036,854,775,807)
- float用于存储单精度小数
- double用于存储双精度的小数
- date存储日期
- time存储时间
- year存储年份
- datetime用于混合存储日期+时间
- 列级约束条件
就是可以在列名后面写的
主键Primary key、外键foreign key 、唯一 unique、检查 check 、默认default 、非空/空值 not null/ null
- 表级约束条件
就是列都写完了,你可以单独拿出来在最下面写的,和列级约束条件是两种不同的书写模式,但是作用都是一样的
主键、外键、唯一、检查
- 删除表
- 查看表
- # 查看所有表
- show tables;
- # 查看表的创建语句
- show create table 表名;
- # 查看表结构
- desc 表名
复制代码 - 修改表
- # 添加列
- alter table 表名 add 列名 列类型 [列级约束条件], ...
- # 修改列
- alter table 表名 modify 列名 列类型;
- # 修改列名
- alter table 表名 change 原列名 新列名 列类型
- # 删除列
- alter table 表名 drop 列名
- # 修改表名
- alter table 表名 rename to 表名
复制代码 数据库操纵语言(DML)
- 插入
- INSERT INTO 表名 VALUES(值1, 值2, 值3);
- INSERT INTO 表名(列名1, 列名2) VALUES(值1, 值2), (值1, 值2), (值1, 值2);
复制代码 - 修改
- UPDATE 表名 SET 列名=值,... WHERE 条件
复制代码 警告:如果忘记添加WHERE字句来限定条件,将使得整个表中此列的所有数据都被修改!
- 删除
警告:如果忘记添加WHERE字句来限定条件,将使得整个表中此列的所有数据都被删除!
数据库查询语言(DQL)
<ul>单表查询- SELECT 列名1 as 列1, 列名2 as 列2 FROM 表名
- -- 查询不重复值
- SELECT DISTINCT * FROM 表名 WHERE 约束条件
复制代码 <ul>where后的约束条件<ul>
>, |