创建库和表
#创建test库
CREATE DATABASE IF NOT EXISTS test DEFAULT CHARSET utf8;
USE test ;
#创建stuant表
CREATE TABLE stuant(
sid INT PRIMARY KEY AUTO_INCREMENT,
sname VARCHAR(30) NOT NULL,
gender VARCHAR(2) NOT NULL,
syear INT NOT NULL
);
#创建teacher表
CREATE TABLE teacher(
tid INT PRIMARY KEY AUTO_INCREMENT,
gender VARCHAR(2) NOT NULL,
tname VARCHAR(30) NOT NULL,
tyear INT NOT NULL
);
#创建class表
CREATE TABLE class(
tid INT ,
sid INT ,
cid INT,
cname VARCHAR(30)
)
添加数据
#添加各个表数据
INSERT INTO stuant ( sname,gender,syear)VALUES('张三','男',17),('李四','男',19),('王五','女',18),('赵六','男',20),('田七','男',19),('马云','女',17);
INSERT INTO teacher ( tname,gender,tyear)VALUES('张余','男',67),('萨瓦','女',59),('王共','女',38),('赵轩','男',40),('阿达七','女',49),('马华泰','女',67);
INSERT INTO class(tid , sid , cid ,cname)VALUES(1,1,1,'数据高深班'),(2,2,2,'语言积累班'),(4,3,2,'语言积累班'),(6,4,2,'语言积累班'),(3,6,1,'数据高深班'),(5,5,1,'数据高深班');
子查询
#查询教师编号为4 且学生编号为3的班级名称和班级编号
SELECT c.cid ,c.cname
FROM(
SELECT t.tid, s.sid FROM teacher t ,stuant s WHERE
t.tid = 4 AND s.sid = 3
) i LEFT JOIN class c ON c.tid = i.tid ;
创建索引
CREATE INDEX index_name ON table(class(cname))
修改表结构的方式添加索引
ALTER TABLE table_name ADD INDEX index_name (teacher(tname))
删除索引
DROP INDEX index_name ON table
唯一索引
CREATE UNIQUE INDEX index_name ON table(teacher(tname))