SQL 增删改查 复习
首先创建两张表
1 CREATE TABLE Teacher 2 ( 3 Id INT IDENTITY(1,1) NOT NULL PRIMARY KEY, 4 Name VARCHAR(10) NOT NULL, 5 ); 6 7 8 CREATE TABLE Student 9 ( 10 Id INT IDENTITY(1,1) NOT NULL PRIMARY KEY, 11 TeacherID INT NOT NULL FOREIGN KEY REFERENCES Teacher(Id), 12 Name VARCHAR(10) NOT NULL, 13 Age INT NOT NULL, 14 );
一张老师表,一张学生表,关系为一对多;
IDENTITY(1,1) :设置该列为自增长列,没次增长1;
PRIMARY KEY: 设置该列为主键;
FOREIGN KEY REFERENCES: 设置主外键关系;
INSERT
INSERT :向表插入一条或者多条数据;
向老师表中插入一条数据:
1 --方法一: 2 INSERT INTO Teacher (Name) VALUES('李老师') 3 --方法二: 跟方法一相比少了INTO; INTO可有可无 4 INSERT Teacher (Name) VALUES('陈老师') 5 --方法三: 跟方法二相比秒了Teacher表的列名,如果不写则VALUES里的列值必须与Teacher表的列顺序一致(可为NULL的列如果为NULL也必须写NULL,不可以省掉) 6 INSERT Teacher VALUES('谢老师') 7 --一次性插入多条数据(效率比一条一条插入高) 8 INSERT INTO Teacher VALUES('李老师'),('陈老师'),('谢老师');
DELETE
DELETE:删除表中的一条或多条数据
1 --删除Id为1的数据 2 DELETE Teacher WHERE Id=1 3 --删除整个表 4 DELETE Teacher
注:如果Student表中有数据且外键引用的是Teacher表Id为1这行数据,当想删除Teacher表中Id为1的这行数据是如果有约束则删除失败
UPDATE
UPDATE: 更新表中的数据
1 --要修改多个列则列与列之间用","间隔:UPDATE TABLE SET A='A', B= 'B' 2 UPDATE Teacher SET Name='白老师' where Name='李老师'
SET子句还可以使用表达式:
1 UPDATE Teacher SET Name= Name + '1'
SELECT
SELECT:查找
1 SELECT * FROM Teacher 2 3 SELECT Id, Name FROM Teacher WHERE Id < 3