帮助
?CONTENTS
表操作
创建数据库
CREATE DATABASE db_name;
切换数据库
USE db_name;
创建表
CRETAE TABLE table_name(column type,...);
查看表结构
DESC table_name;
修改表名称
ALTER TABLES old_table_name RENAME TO new_table_name;
显示所有数据库
SHOW DATABASES;
显示所有表
SHOW TABLES;
修改数据库默认编码
ALTER DATABASE db_name DEFAULT CHARACTER SET encoding;
给表添加列
ALTER TABLE table_name ADD new_column type,…;
给表删除列
ALTER TABLE table_name DROP columnname;
插入数据
插入所有字段
INSERT INTO table_name VALUES(colum1, .....);
插入部分字段
INSERT table_name(colum1,..) VALUES(value1,...);
修改数据
UPDATE tableble_name SET columnname=value WHERE 条件;
删除全表
DELETE FROM table_name;
可以带条件删除
只能删除表的数据,不能删除表的约束
可以回滚
TRUNCATE TABLE table_name;
不能带条件删除
既可以删除表的数据,也可以删除表的约束
不可以回滚
查询
查询所有列
SELECT * FROM table_name;
查询指定列
SELECT column1,… FROM table_name;
查询时指定别名
SELECT column AS ‘column_new’,… FROM table_name AS table_name_new;
查询时添加常量列
SELECT column1,…’常量列’ FROM table_name;
查询时合并列
SELECT columname, (column1+column2) FROM table_name;
column1和column2必须为数值类型
查询时去除重复列
SELECT DISTINCT column FROM table_name;
SELECT DISTINCT(column) FROM table_name;
条件查询(WHERE)
逻辑条件:and(与) or(或)
SELECT * FROM table_name WHERE column1=value AND column2=value
SELECT * FROM table_name WHERE column1=value OR column2=value
比较条件: > < >= <= <>(不等于) between and
SELECT * FROM table_name WHERE column > value1 AND column < valu2;
SELECT * FROM table_name WHERE column BETWEEN value1 AND value2;
判空条件(null 空字符串) is null, is not null, =’’, <>’’
SELECT column,… FROM table_name WHERE column is null;
模糊条件(LIKE)
% 任意个字符
_ 一个字符
SELECT * FROM table_name WHERE column LIKE “”
聚合查询
常用聚合函数
SUM() 求和
AVG() 求平均值
MAX() 最大值
MIN() 最小值
COUNT() 计数
COUNT(*) 列数
COUNT(column) 行数
分页查询(LIMIT 起始行, 查询几行)
起始行从0开始
分页: 当前页 每页显示条数
分页查询当前页的数据sql:SELECT * FROM table_name LIMIT (当前页-1)*每页显示条数,每页显示条数;
SELECT * FROM table_name LIMIT start_line, count_line;
查询排序
SELECT * FROM table_name ORDER BY column ASC/DESC;
多列排序条件
SELECT * FROM table_name ORDER BY column1 ASC/DESC, column2 ASC/DESC;
先按column1排序,对column1值相同的行,按column2排序
分组查询(GROUP BY)
SELECT column,COUNT(column/*) FROM table_name GROUP BY column;
分组查询后筛选
SELECT column,COUNT(column/*) FROM table_name GROUP BY column HAVING COUNT(column/*);
表约束
唯一:
unique:不可可重复,可以为空,一张表可以有多个
主键: 非空+unique
primary key:不可重复,不可为空,一张表只能有一个
自增长
cretate TABLE table_name(column type auto_inrement);
cretate TABLE table_name(column type zerofill auto_inrement); 零填充
不能影响自增长约束
DELETE FROM table_name;
可以影响自增长约束
TRUNCATE TABLE table_name;
外键约束
CREATE TABLE table_name(
column type,
CONSTRAINT column_fk FOREIGN KEY(column) REFERENCES table_name_fk(column)
外键名称 外键 参考表 (参考字段));
有外键约束时:
添加数据时:先添加主表(参考表),再添加副表
修改数据时:先修改副表,再修改主表(参考表)数据
删除数据时:先删除副表,再删除主表(参考表)数据
级联操作
有外键约束时,通过修改或删除主表,影响副表
CREATE TABLE table_name( column type, CONSTRAINT column_fk FOREIGN KEY(column) REFERENCES table_name_fk(column) ON UPDATE CASCADE[ ON DELETE CASCADE]);
外键名称 外键 参考表(参考字段)