1. int -- 整数类型
* age int
2. double -- 小数类型
* score double(5,2)
* price double
3. date -- 日期
-- 只包含年月日
-- yyyy-MM-dd
4. datetime -- 日期
-- 包含年月日时分秒
-- yyyy-MM-dd HH:mm:ss
5. timestamp -- 时间戳类型
-- 包含年月日时分秒
-- yyyy-MM-dd HH:mm:ss
-- 不赋值,或赋值null,则默认使用当前的系统时间,自动赋值
6. varchar:-- 字符串
* name varchar(20)
-- 姓名最大20个字符
-- zhangsan 8个字符
-- 张三 2个字符
-- 使用数据库
USE 数据库名称;
-- *数据库
-- 创建数据库
CREATE DATABASE 数据库名称;
-- 创建数据库(如果不存在则创建)
CREATE DATABASE IF NOT EXISTS 数据库名称;
-- 创建数据并指定字符集
CREATE DATABASE 数据库名称 CHARACTER SET 字符集;
-- 创建数据库并指定字符集(如果不存在则创建)
CREATE DATABASE IF NOT EXISTS 数据库名称 CHARACTER SET 字符集;
-- *数据表
-- 创建数据表
CREATE TABLE 数据表名称(
列名1 数据类型,
列名2 数据类型,
...
-- 最后一列不能加逗号
列名n 数据类型
);
-- 复制数据表
CREATE TABLE 新数据表名称 LIKE 数据表名称;
-- *数据列
-- 增加一列
ALTER TABLE 数据表名称 ADD 数据列名称 数据类型;
-- *数据库
-- 删除数据库
DROP DATABASE 数据库名称;
-- 删除数据库(如果存在则删除)
DROP DATABASE IF EXISTS 数据库名称;
-- *数据表
-- 删除数据表
DROP TABLE 数据表名称;
-- 删除数据表(如果存在则删除)
DROP TABLE IF EXISTS 数据表名称;
-- *数据列
-- 删除数据列
ALTER TABLE 数据表名称 DROP 数据列名称;
-- *数据库
-- 修改数据库的字符集
ALTER DATABASE 数据库名称 CHARACTER SET 字符集;
-- *数据表
-- 修改数据表名称
ALTER TABLE 数据表名称 RENAME TO 新数据表名称;
-- 修改数据表字符集
ALTER TABLE 数据表名称 CHARACTER SET 字符集;
-- *数据列
-- 修改数据列名称和数据类型
ALTER TABLE 数据表名称 CHANGE 数据列名称 新数据列名称 新数据类型;
-- 修改数据列数据类型
ALTER TABLE 数据表名称 MODIFY 数据列名称 新数据类型;
-- *数据库
-- 查询所有数据库
SHOW DATABASES;
-- 查询数据库结构
SHOW CREATE DATABASE 数据库名称;
-- 查询当前正在使用的数据库
SELECT DATABASE();
-- *数据表
-- 查询库中所有表
SHOW TABLES;
-- 查询表结构
DESC 数据表名称;
-- 查询表字符集
SHOW TABLE STATUS FROM 数据库名称 LIKE '数据表名称';
-- 给指定数据列添加一条数据
INSERT INTO 数据表名称(数据列名称1,数据列名称2,...) VALUES(值1,值2,...);
-- 默认给全部列添加数据
INSERT INTO 数据表名称 VALUES (值1,值2,值3,...);
-- 批量添加数据(数据值对应表结构)
INSERT INTO 数据表名称 VALUES (值1,值2,值3,...),(值1,值2,值3,...),(值1,值2,值3,...);
-- 给指定列添加多条数据
INSERT INTO 数据表名称(数据列名称1,数据列名称2,...) VALUES (值1,值2,...),(值1,值2,...),(值1,值2,...);
-- 修改数据表数据
UPDATE 数据表名称 SET 数据列名称1 = 值1,数据列名称2 = 值2,...WHERE 条件;
-- 删除数据表数据
DELETE FROM 数据表名称 WHERE 条件;
-- 查询语法
SELECT 数据列名 FROM 数据表名 WHERE 条件 GROUP BY 分组字段 HAVING 分组之后的条件 ORDER BY 排序 LIMIT() 分页
-- 查询全部
SELECT * FROM 数据表名称;
-- 查询指定数据列的数据表数据
SELECT 数据列名称1,数据列名称2,... FROM 数据表名称;
-- 查询指定数据列的数据表数据并去重
SELECT DISTINCT 数据列名称1,数据列名称2,... FROM 数据表名称;
-- 计算数据列的值(四则运算)
SELECT 数据列名称1 运算符 数据列名称2 FROM 数据表名称;
-- 起别名查询
SELECT 数据列名称 AS 别名 FROM 数据表名称;
-- *条件查询
SELECT 数据列名称 FROM 数据表名称 WHERE 条件;
*条件分类
符号 | 功能 |
---|---|
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
= | 等于 |
<> 或 != | 不等于 |
BETWEEN … AND … | 在某个范围之内(都包含) |
IN(…) | 多选一 |
LIKE 占位符 | 模糊查询 _单个任意字符 %多个任意字符 |
IS NULL | 是NULL |
IS NOT NULL | 不是NULL |
AND 或 && | 并且 |
OR 或 || | 或者 |
NOT 或 ! | 非,不是 |
-- 标准语法
SELECT 函数名(数据列名称) FROM 表名 [WHERE 条件];
*聚合函数
函数名 | 功能 |
---|---|
count(列名) | 统计数量(记录数,总共有多少条数据)(一般选用不为null的列) |
max(列名) | 最大值 |
min(列名) | 最小值 |
sum(列名) | 求和 |
avg(列名) | 平均值 |
-- 标准语法
SELECT 数据列名称 FROM 数据表名称 [WHERE 条件] ORDER BY 数据列名称1 排序方式1,数据列名称2 排序方式2;
*排序分类
关键词 | 功能 |
---|---|
ORDER BY 列名1 排序方式1,列名2 排序方式2 | 对指定列排序,ASC升序(默认的) DESC降序 |
-- 标准语法
SELECT 列名 FROM 表名 [WHERE 条件] GROUP BY 分组列名 [HAVING 分组后条件过滤] [ORDER BY 排序列名 排序方式];
-- 标准语法
SELECT 列名 FROM 表名 [WHERE 条件] GROUP BY 分组列名 [HAVING 分组后条件过滤] [ORDER BY 排序列名 排序方式] LIMIT 开始索引,查询条数;
-- 公式:开始索引 = (当前页码-1) * 每页显示的条数