SQL学习 - 简单增删改查
增
INSERT
create table aa(PKID INT IDENTITY(1,1) NOT NULL,DocID uniqueidentifier NULL,Name NVARCHAR(50) NOT NULL)
insert into aa
values(NEWID(),'張三'),(NEWID(),'李四')
- PKID ,IDENTITY(1,1) 表示主键自增1;
- DocID ,uniqueidentifier 表示随机数;
- Name ,不为空,长度上线为50的字符串;
删
DELETE FROM
1.DML语言
2.产生日志,可以回滚
3.可以有条件
create table aa(PKID INT IDENTITY(1,1) NOT NULL,DocID uniqueidentifier NULL,Name NVARCHAR(50) NOT NULL)
insert into aa
values(NEWID(),'張三'),(NEWID(),'李四')
DELETE FROM aa WHERE Name='張三'
TRUNCATE TABLE
1.DDL语言
2.无日志,无法回滚
3.速度比DELETE快
create table aa(PKID INT IDENTITY(1,1) NOT NULL,DocID uniqueidentifier NULL,Name NVARCHAR(50) NOT NULL)
insert into aa
values(NEWID(),'張三'),(NEWID(),'李四')
TRUNCATE TABLE aa
DROP TABLE
1.有日志,可以回滚
2.表结构、索引、属性全部删除
create table aa(PKID INT IDENTITY(1,1) NOT NULL,DocID uniqueidentifier NULL,Name NVARCHAR(50) NOT NULL)
insert into aa
values(NEWID(),'張三'),(NEWID(),'李四')
DROP TABLE aa
改
UPDATE
create table aa(PKID INT IDENTITY(1,1) NOT NULL,DocID uniqueidentifier NULL,Name NVARCHAR(50) NOT NULL)
insert into aa
values(NEWID(),'張三'),(NEWID(),'李四')
UPDATE aa SET Name='張三儿子' WHERE Name='張三'
查
单表查询
create table aa(PKID INT IDENTITY(1,1) NOT NULL,DocID uniqueidentifier NULL,Name NVARCHAR(50) NOT NULL)
insert into aa
values(NEWID(),'張三'),(NEWID(),'李四')
SELECT * FROM aa
多表查询
此处不再列举各类连接以及主外键关系查询。
create table aa(PKID INT IDENTITY(1,1) NOT NULL,DocID uniqueidentifier NULL,Name NVARCHAR(50) NOT NULL)
insert into aa
values(NEWID(),'張三'),(NEWID(),'李四')
create table bb(PKID INT IDENTITY(1,1) NOT NULL,DocID uniqueidentifier NULL,Name NVARCHAR(50) NOT NULL)
insert into bb
values(NEWID(),'張三儿子'),(NEWID(),'李四女儿')
select * from aa inner join bb on aa.pkid =bb.pkid
where aa.Name='张三'