目录
1、 多表查询 (where子句多表查询,join子句多表查询)
3、子查询(ANY子查询、IN子查询、SOME子查询、ALL子查询)
一、mysql的基本組成
二、基本sql语句
在创建表的时候给列起别名(comment)
![](https://i-blog.csdnimg.cn/blog_migrate/d3ba3ccc4fa2951177e47690b3f414b0.png)
#创建数据库exam2
CREATE DATABASE exam2;
#删除数据库exam2
DROP DATABASE exam2;
CREATE DATABASE exam2;
#切换到数据库exam2
USE exam2;
#创建表stu id自增,主键, 表的编码格式是utf8
CREATE TABLE stu(
id INT(1) AUTO_INCREMENT,
PRIMARY KEY (id) #主键是id
) CHARSET utf8;
DROP TABLE stu;
CREATE TABLE USER(
uid INT PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(32),
PASSWORD VARCHAR(32),
sex ENUM('男','女') DEFAULT '女', #枚举类型 性别默认是女
address VARCHAR(32),
hobby VARCHAR(32)
);
#例 sex是1代表男生 2代表女生(1和2表示枚举里面的第一位还是第二位)
INSERT INTO USER (username,PASSWORD,sex,address,hobby) VALUES ('whd','123',2,'河北','打篮球');
INSERT INTO USER (username,PASSWORD,sex,address,hobby) VALUES ('wangwu','8908',1,'南京','打乒乓求');
# 查询地址不在“北京”的用户信息 不等于的两种方式
SELECT * FROM USER WHERE address != '北京'
SELECT * FROM `user` WHERE address <> '北京'
添加约束
#将user表的did设置成外键 让他与dept表的did对应起来,让两张表之间有关系
ALTER TABLE USER ADD FOREIGN KEY(did) REFERENCES dept(did);
#添加完约束之后存在的问题:
# 1. 如果添加约束 外键添加的值在关联表中不存在报错,有约束问题。
# 2. 如果删除dept表的记录那么emp表中外键是不是也要被删除,这个时候需要使用级联删除。
limit操作
#每页显示5天记录
select * from user limit 0,5;
#下一页 (页数-1)*每页个数,每页个数
select * from user limit 5,5
首页
select * from user limit 0,5;
尾页
查询总记录数 再除以每页条数
![](https://i-blog.csdnimg.cn/blog_migrate/16504cc1bb48c2be0b9e8a30e95300a9.png)
![](https://i-blog.csdnimg.cn/blog_migrate/91da826c1a82029ca6af1190b2310be1.png)
![](https://i-blog.csdnimg.cn/blog_migrate/f3ea0acfa5876f2e90e90953e269c62d.png)
#查询所有数据库的服务状态
SHOW STATUS;
#查询数据库版本号
SELECT VERSION();
#查询所有数据库
SHOW DATABASES;
#表格内容清空(一) 第一次清空后,再添加id会累加;
DELETE FROM person;
#DELETE 加上where就可以指定删除(指定删除名字叫徐磊的表格内容)
DELETE FROM person WHERE u_name= '徐