整理的笔记,方便后续查看复习用
推荐书籍 《SQL必知必会》
基础
SQL通用语法
- SQL语句可以单行或者多行,分号结尾
- SQL语句可以用空格或者缩进来增强语句的可行性
- MySQL的SQL语句不区分大小写
- 注释:单行注释用
--
,多行注释用/*注释内容*/
SQL分类
- DDL 数据定义语言,用来定义数据库对象(数据库,表,字段)
- DML 数据操作语言,用来对数据库表中的数据进行增删改(查是DQL)
- DQL 数据查询语言,用来查询数据库表中的记录
- DCL 数据控制语言,用来创建数据库用户,控制数据库的访问权限
DDL-数据定义语言
DDL-数据库操作
查询
查询所有数据库SHOW DATABASES;
查询当前数据SELECT DATABASE();
创建
CREATE DATABASE [IF NOT EXISTS] 数据库名 [DEFAUL CHARSET 字符集] [COLLATE 排序规则];
删除
DROP DATABASE[IF EXISTS] 数据库名;
使用
USE 数据库名;
DDL-表操作-查询
查询当前数据库所有表
SHOW TABLES;
查询表结构
DESC 表名;
查询指定表的建表语句
SHOW CREATE TABLE 表名;
DDL-表操作-创建
1 | CREATE TABLE 表名( |
DDL-表操作-修改
添加字段
ALTER TABLE 表名 ADD 字段名 类型(长度) [COMMENT 注释][约束];
修改数据类型
ALTER TABLE 表名 MODIFY 字段名 新数据类型(长度);
修改字段名和字段类型
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型(长度)[COMMENT 注释][约束];
删除字段
ALTER TABLE 表名 DROP 字段名;
修改表名
ALTER TABLE 表名 RENAME TO 新表名;
删除表
DROP TABLE[IF EXISTS] 表名;
删除指定表,并重新创建该表
TRUNCATE TABLE 表名;
DML-数据操作语言
- 添加数据
INSERT
- 修改数据
UPDATE
- 删除数据
DELETE
DML-添加数据
指定的字段顺序要和值的顺序一一对应
给指定字段添加数据
INSERT INTO 表名(字段名1,字段名2,…) VALUSE(值1,值2,…);
给全部字段添加数据
INSERT INTO 表名 VALUES(值1,值2,…);
批量添加数据
INSRT INTO 表名(字段名1,字段名2,…) VALUSE(值1,值2,…),(值1,值2,…),(值1,值2,…);
INSRT INTO 表名 VALUSE(值1,值2,…),(值1,值2,…),(值1,值2,…);
DML-修改数据
没有条件会改全表数据,改前记得复查数据UPDATE 表名 SET 字段名1 = 值1,字段名2 = 值2,…[WHERE 条件];
DML-删除数据
没有条件会删除整张表的数据,慎用
DELETE不能删除某个字段的值,需要用UPDATEDELETE FROM 表名[WHERE 条件];