#建库
语法:
CREATE DATABASE IF NOT EXISTS 库名 DEFAULT CHARSET 编码格式;
CREATE DATABASE IF NOT EXISTS yuesu DEFAULT CHARSET utf8;
#使用库
语法:
USE 库名
USE yuesu
#建表
语法:
CREATE TABLE IF NOT EXISTS 表名(
字段名1 数据类型 主键 自增,
字段名2 数据类型(长度) 非空 唯一 默认值 备注,
字段名3 数据类型 空
);
CREATE TABLE IF NOT EXISTS student(
id INT PRIMARY KEY AUTO_INCREMENT,
NAME VARCHAR(20) NOT NULL UNIQUE DEFAULT “默认值” COMMENT “备注”,
age INT NULL
);
#增加表数据(多条)
语法:
(AUTO_INCREMENT 自增 不需要添加字段名和值会自动添加)
INSERT INTO 表名(字段名2,字段名3)
VALUES(“值2”,“值3”),
(“值2”,“值3”);
INSERT INTO student(NAME,age)
VALUES(“张三”,10),
“李四”,17);
#删除表
语法:
DROP TABLE 表名;
DROP TABLE student;
#修改表数据
语法:
UPDATE 表名
SET 修改字段1=值1,修改字段2=值2
WHERE 条件字段=条件值;
UPDATE student
SET age=10,id=11
WHERE name=“张三”;
#查询表数据
语法:
(*代表所有字段)
SELECT 字段 FROM 表名;
SELECT 字段 FROM 表名 WHERE 条件字段=条件值;
SELECT 字段 FROM 表名 ORDER BY 字段名;
SELECT 字段 FROM 表名 LIMIT 2,5;
#查询整表
SELECT * FROM student;
#条件查询
SELECT * FROM student WHERE age > 14;
#排序查询
SELECT * FROM student ORDER BY age;
#条数查询
SELECT * FROM student LIMIT 0,5;
#表关联查询
语句:
SELECT 别名1.,别名2. FROM 表1 别名1
INNER JOIN 表2 别名2
ON 别名1.字段1=别名2;
SELECT 别名1.,别名2. FROM 表1 别名1
INNER JOIN 表2 别名2
ON 别名1.字段1=别名2;
SELECT 别名1.,别名2. FROM 表1 别名1
LEFT JOIN 表2 别名2
ON 别名1.字段1=别名2;
SELECT * FROM 表名1;
UNION ALL
SELECT * FROM 表名2;
#内连接 inner join…on//公共部分
SELECT w.,a. FROM websites w
INNER JOIN access_log a
ON w.id=a.site_id
#左连接 left join…on //公共部分+左表多余部分,比如学生成绩
SELECT w.,a. FROM websites w
LEFT JOIN access_log a
ON w.id=a.site_id
#右连接 right join…on //公共部分+右表多余部分
SELECT w.,a. FROM websites w
RIGHT JOIN access_log a
ON w.id=a.site_id
#union联合查询#字段数量一样
SELECT * FROM access_log
UNION ALL
SELECT * FROM websites
#子查询
语句:
SELECT * FROM 表名1 WHERE 字段2>= (
SELECT 字段2 FROM WHERE 字段1=条件值
);
#查询大于或者等于张三的人年龄
SELECT * FROM user WHERE age>= (
SELECT age FROM WHERE name=‘张三’
);