sql笔记
1. 注释
- 单行注释:"-- "注释内容或 "#"注释内容(MySQL特有)
- 多行注释:/* 注释 */
1 DDL
操作数据库
- 查询
SHOW DATABASES;
-
创建
-
创建数据库
CREATE DATABASE 数据库名称; -
创建数据库(判断,如果不存在则创建)
CREATE DATABASE IF NOT EXISTS 数据库名称;
-
-
删除
-
删除数据库
DROP DATABASE 数据库名称; -
删除数据库(判断,如果存在则删除)
DROP DATABASE IF EXISTS 数据库名称;
-
-
使用数据库
-
查看当前使用的数据库
SELECT DATABASE(); -
使用数据库
USE 数据库名称;
-
操作表
-
查询表
-
SHOW TABLES; -- 查询当前数据库下所有表名称 -
DESC 表; -- 查询表结构 SELECT * FROM 表; -- 查询表中数据
-
-
创建表
-
CREATE TABLE 表名( 字段名1 数据类型, 字段名2 数据类型, ... ); -
create table student( id int, name varchar(10), gender char(1), birthday date, score double(5,2), tel varchar(10) );
-
-
删除表
-
DROP TABLE 表名; DROP TABLE IF EXISTS 表名
-
-
修改表
-
ALTER TABLE 表名 ADD 列名 数据类型; -- 添加一列 ALTER TABLE 表名 RENAME TO 新的表名; #修改表名 ALTER TABLE 表名 MODIFY 列名 新数据类型; #修改数据类型 ALTER TABLE 表名 CHANGE 列名 新列名 新数据类型; #修改列名和数据类型 ALTER TABLE 表名 DROP 列名; #删除列
-
2. DML
添加数据
-- 1. 给指定列添加数据
INSERT INTO 表名(列1,列2,...) VALUE(值1,值2,...);
-- 2. 批量添加数据
INSERT INTO 表名(列1,列2,...) VALUE(值1,值2,...),(值1,值2,...),(值1,值2,...);
修改数据
UPDATE 表名 SET 列名1=值1,列名2=值2,...[WHERE 条件]; -- 不加where则全部修改
例
UPDATE student set id=2 WHERE name='李四';
删除数据
DELETE FROM 表名 [WHERE 条件];
3.DQL
SELECT
字段列表
FROM
表名
WHERE
条件
GROUP BY
分组字段
HAVING
分组后条件
ORDER BY
排序字段
LIMIT
分页限定
基础查询
-- 1. 查询多个字段
SELECT 字段列表 FROM 表名;
-- 2. 去除重复记录
SELECT DISTINCT 字段列表 FROM 表名;
-- 3. 起别名
AS: AS 也可省略
select name as 名字, math 数学成绩 from student;
条件查询
SELECT 字段列表 FROM 表名 WHERE 条件;
排序查询
-- 1. 排序查询
SELECT 字段列表 FROM 表名 ORDER BY 排序字段名1 [排序方式1],排序字段名2 [排序方式2],...;
-- 排序方式:
-- ASC:升序(默认)
-- DESC:降序
select * from student order by age asc;
分组查询
聚合函数
SELECT 函数名(列) FROM 表;
SELECT 字段列表 FROM 表名 [WHERE 分组前条件限定] GROUP BY [HAVING 分组后条件过滤];
分页查询
SELECT 字段列表 FROM 表名 LIMIT 起始索引(从0开始),查询条目数;
-- 起始索引=(当前页码-1)*每页显示的条目数
约束
-- 创建表时添加约束
CREATE TABLE 表名(
字段名1 数据类型 NOT NULL,
字段名2 数据类型 约束名称,
...
);
-- 添加约束
ALTER TABLE 表名 MODIFY 字段名 数据类型 NOT NULL;
-- 外键约束
CREATE TABLE 表名(
[CONSTRAINT] [外键名称] FOREIGN KEY(外键列名) REFERENCES 主表(主表列名);
)
ALTER TABLE 表名 ADD CONSTRAINT 外键名称 FOREIGN KEY(外键列名) REFERENCES 主表(主表列名);
-- 删除
ALTER TABLE 表名 DROP FOREIGN KEY 外键名称;
多表查询
事务
-- 开启事务
START TRANSACTION; -- 或BEGIN;
-- 提交事务
COMMIT;
-- 回滚事务
ROLLBACK;

浙公网安备 33010602011771号