1.列改名
原名 as 改名
2.或者
SELECT * from product2 WHERE price=200 or price =100 or price=300;相同于SELECT * from product2 WHERE price in(200,100,300);
3.为null
SELECT * from product2 WHERE price is null;
4.模糊查询
SELECT * from product2 WHERE name like '小米%';
//第二个字是为的字段
SELECT * from product2 WHERE name like '_为%'; //_代表任意字符
名字中包含为邹的字段
SELECT * from product2 WHERE name='%邹%';
5.聚合函数查询
(count max min sum avg)
select 函数名(列名) from 表名 where 条件;
6.排序查询
asc升序desc 降序
SELECT * from product2 order by price asc;
7.分组查询
SELECT * from product2 WHERE 条件 GROUP BY 分组列名 [HAVING 分组后条件过滤] [ORDER BY 排序列名 排序方式];
查找金额大于4000元的商品,按照品牌分组,获取每组商品的总金额,只显示总金额小于7000的
SELECT brand,SUM(price) pricesum from product Where price>4000 GROUP BY brand HAVING pricesum<7000
8.分页查询
当前页数=(当前页数-1)*每页显示的条数
SELECT * from product2 limit 当前页数 每页显示条数;
显示价格第二大的数
SELECT 马修(price) from product2 ORDER BY price desc limit 1,1 ;
9.主键约束
//主键自增约束
create table student(id int primary key auto_increment,name varcher(30),age int);
//唯一约束,年龄必须唯一
create table student(id int primary key auto_increment,name varcher(30),age int unique);
//删除唯一约束
ALTER TABLE student DROP INDEX age;
//建表后单独添加唯一约束
ALTER TABLE student MODUFY age INT UNIQUE;
//非空约束
create table student(id int primary key auto_increment,name varcher(30),age int NOT NULL);
10.外键约束与级联更新
//添加外键约束,同时添加级联更新和级联删除
ALTER TABLE orderlist ADD CONSTRAINT ou_fk1 FOREICN KEY (uid) REFERENCES USER(id)
ON UPDATE CASCADE ON DELETE CASCADE;
11.多表操作
(1)一对一
CREATE TABLE card(
id INT PRIMARY KEY AUTO_INCREMENT,
number VARCGAR(20) UNIQUE NOT NULL,
pid INT UNIQUE,
CONSTRAINT cp_fk1 FOREING KEY (pid) REFERENCES person(id)
);
(2)多对多
在对的那一方加入外键约束。同一对一
(3)多对多
需要借助第三张中间表,中间表至少包含两个列,这两个列作为中间表的外键,分别关联两张表的主键
CREATE TABLE card(
id INT PRIMARY KEY AUTO_INCREMENT,
number VARCGAR(20) UNIQUE NOT NULL,
pid INT UNIQUE,
CONSTRAINT cp_fk1 FOREING KEY (pid) REFERENCES person(id),
CONSTRAINT cp_fk2 FOREING KEY (uid) REFERENCES user(id)
);
(4)
(5)
(6)
12.视图
13.数据库备份和恢复
13
14.mysql事物
15
16.MYsql索引
17.MYSQL锁机制