use master
go
if db_id('数据库名') is not null
drop database 数据库名
go
create database 数据库名
on
(--主要数据文件
name='数据库名',
fileName='盘符:\数据库名.mdf',
size=3,
filegrowth=10%
)/*,--次要数据文件(可写 可不写)
(
name='数据库名1',
fileName='盘符:\数据库名1.ndf',
size=3,
filegrowth=10%
)*/
log on --日志文件
(
name='数据库名_log',
fileName='盘符:\数据库名_log.ldf',
size=1,
filegrowth=10%
)/*,
(
name='数据库名_log1',
fileName='盘符:\数据库名_log1.ldf',
size=1,
filegrowth=10%
)*/
go
use 数据库名
go
if object_id('表名') is not null
drop table 表名
go
create table 表名
(
字段 数据类型 约束/not null/null,
字段 数据类型 约束/not null/null
)
go
--建约束
alter table 表名 add constraint PK_表名_字段名 primary key(字段名)--建主键
alter table 表名 add constraint UQ_表名_字段名 unique(字段名)--建唯一约束
alter table 表名 add constraint CK_表名_字段名 check(关系表达式/逻辑表达式)--建检查约束
alter table 表名 add constraint DF_表名_字段名 default(默认值) for 字段名--建默认约束
alter table 表名 add constraint FK_子表_父表_字段名 foreign key(字段名) references 父表(字段名)--建外键
go
--一次只插入一条数据
insert into 表名 values(值1,值2,值3)
insert 表名 values(值1,值2,值3)
insert into 表名 (字段名1,字段名2,字段名3)values(值1,值2,值3)
insert 表名 (字段名1,字段名2,字段名3)values(值1,值2,值3)
--一次插入多条数据
insert into 表名
select 值1,值2,值3 union
select 值1,值2,值3 union
select 值1,值2,值3 union
select 值1,值2,值3
insert 表名(字段名1,字段名2,字段名3)
select 值1,值2,值3 union
select 值1,值2,值3 union
select 值1,值2,值3 union
select 值1,值2,值3
insert 表名
select 值1,值2,值3 union
select 值1,值2,值3 union
select 值1,值2,值3 union
select 值1,值2,值3
insert into 表名(字段名1,字段名2,字段名3)
select 值1,值2,值3 union
select 值1,值2,值3 union
select 值1,值2,值3 union
select 值1,值2,值3
go
--删除数据
--删除表中的全部数据
delete from 表名
truncate table 表名 --效率高
--根据一个条件删除
delete from 表名 where 字段名=值
go
--修改数据
--修改表中某列的全部数据
update 表名 set 字段名=值
--修改多列的全部数据
update 表名 set 字段名=值,字段名=值
--根据条件修改信息
update 表名 set 字段名=值 where 条件
update 表名 set 字段名=值,字段名=值 where 条件
go
--查询全部信息
select * from 表名
--查询部分列的全部数据信息
select 字段1,字段2 from 表名
--查询满足条件的全部列信息
select * from 表名 where 字段名=值
--查询满足条件的部分列的信息
select 字段1,字段2 from 表名 where 字段名=值
--别名 as 或者 = 或者 空格
SELECT 字段名 as '别名' FROM 表名
SELECT '别名' = 字段名 FROM 表名
--单个字段排序 默认是升序排 升序asc 降序 desc
SELECT * FROM 表名 ORDER BY 字段名 DESC --按照某字段降序排
SELECT * FROM 表名 ORDER BY 字段名 asc --(asc写和不写效果一致)按照某字段升序排
--多个字段排序
SELECT * FROM 表名 ORDER BY 字段名 DESC,字段名 asc
--序号排序
SELECT * FROM 表名 ORDER BY 1 DESC,2 asc
--Top N
select Top n * from 表名
select Top n 字段名1,字段名2 from 表名