Sql Server基本语句操作

1.创建数据库
格式:create database 数据库名
on primary(
…)
log on(
…)

create database testdb01
on primary(
name=testdb01,
filename='E:\testdb\testdb01.mdf',
size=5,
maxsize=100,
filegrowth=5          --最后一个属性不需要加逗号 
)
log on(
name=testdb01_log,
filename='E:\testdb\testdb01_log.ldf',
size=5,
maxsize=100,
filegrowth=5
)

--注意事项:这里需要自己先创建testdb文件夹,因为数据库不会自己给你创建的。

2.删除数据库
格式:drop database 数据库名

3.修改数据库的名字
格式:alter database 旧数据库名
modify name=新数据库名

alter database testdb02
modify name=testdb01

4.修改数据库文件的属性
格式:alter database 数据库名
modify file(

…)

alter database testdb01
modify file(
name=testdb01,        --这里不是修改名字,而是要找到修改的文件名字
size=11,
maxsize=100,
filegrowth=10
)

5.查看数据库属性
格式:exec sp_helpdb 数据库名

exec sp_helpdb testdb01

6.创建表
格式:create table 表名(
列名 数据类型 约束类型 是否为空,
列明 数据类型 是否为空)

create table stu(
stuID int primary key not null,
name varchar(10) not null,
age int null
)

注意事项:最后一行不能加逗号

7.删除表
格式:drop table 表名

drop table stu

8.–修改列类型
格式:alter table 表名
alter column 列名称 数据类型

alter table stu_infor
alter column name varchar(20)

9.修改列是否为空
格式:alter table 表名
alter column 字段名称 数据类型 是否为空(not null或者null)

alter table stu_infor
alter column age float not null

10.添加字段
格式:alter table 表名
add 字段名称 数据类型 是否为空(not null或者null)

alter table stu_infor
add grade varchar(10) not null

11.添加主键约束
格式:alter table 表名
add constraint 约束名 primary key (添加主键的字段名)

alter table stu_infor
add constraint KI primary key (stuID)     --给字段stuID添加约束,约束类型是主键,约束名字是KI

12.添加外键约束
格式:alter table 表名
add constraint 外键名 foreign key(添加外键的字段名) references 依赖的表名(字段名)

--添加外键约束
alter table stu
add constraint fk foreign key (age) references stu_infor(ID) 
在表stu的字段age中添加外键fk依赖于表stu_infor的字段上

13.修改字段名
格式:exec sp_rename ‘表名.字段名’, ‘新的名字’,‘column’

exec sp_rename 'stu_infor.stuID','ID','column'
--将stu_infor表中的stu_ID字段名修改成新的字段名ID

14.between 查询在某一个范围内的记录

select *from stu_infor
where age between '20' and '23'
--注意事项:between后面不管是什么数据类型,都要用单引号


select *from stu_infor
where name between '阿大'and '赵敏'

--查询表中不在65到75之间的记录
select *from stu_infor
where grade not between '65' and '75'

--查询当前时间
select getdate()

15.delete记录

--删除表中第3行的记录
delete stu_infor
where ID=3

16.where精确限制

--where精确限制
update stu_infor 
set name='阿大'
where ID=1

17.模糊查询like

select *from stu_infor       --查询表中名字开头是啊的记录
where name like '阿%'


select *from stu_infor       --查询表中名字结尾是四的记录
where name like '%四'

18.dinstinct

--查询表中不能重复的字段
select distinct grade from stu_infor

19.top查询表中前面几行数据
格式:select top 数据 字段 from 表名

--查询表中前几行的记录
select top 2 * from stu_infor

20.update修改表中的数据
格式:update 表名
set 字段=输入值
where 字段=值

--修改表中的字段数据
update stu_infor
set name='赵敏'
where ID=4

21.insert往表中插入记录
格式:insert into 表名(字段)
values(值)

--往表中插入一条记录
insert into stu_infor(ID,name,age,grade)
values(01,'张三',20,60)


--往表中插入多条记录
insert into stu_infor(ID,name,age,grade)
values(02,'李四',21,65),
(03,'王麻子',22,70),
(04,'张无忌',23,75)

--注意事项:这里插入多条记录时,插入的数据要与字段一一对应。

22.删除表中外键约束
格式:alter table 表名
drop constraint 约束名

--删除表中外键约束fk
alter table stu drop constraint fk

23.查询表中部分字段
格式:select 字段,字段,字段 from 表名

--查询表中的部分字段
select ID,name from stu_infor

24.子查询in的用法,它是一个字段范围,在这个范围内查询
格式:select *from 表名 where 字段 in (值集)

--子查询in的用法,它是一个字段的范围,在这个范围内查询
select *from stu_infor
where ID in (1,2,3)
--查询整张表中ID是1,2,3的记录


--查询整张表忠姓名是阿大,李四和赵敏的记录
select * from stu_infor
where name in ('阿大','李四','赵敏')


--查询整张表中ID不是1,2,3,4,5的记录
select * from stu_infor
where ID not in (1,2,3,4,5)

25.as给表/列起名字
格式:select *from 表名 as 名字

格式:select 字段 as 别名
字段 as 别名
字段 as 别名
from 表名

----给表起别名
select * from stu_infor as A



--给列起别名
select ID as 序号,
name as 姓名 ,
grade as 成绩
from stu_infor

--注意事项:如果要把一个查询结果作为另外一个查询的元,必须要起这个查询起别名
--如:
select *from (select *from stu_infor where age between 21 and 25) as A

26.exists子查询

27.索引index
索引目的:提高查询效率
索引分2类:
聚集索引:实际的物理存储顺序和逻辑顺序一致,一个表只能有一个聚集索引
非聚集索引:实际的物理存储顺序和逻辑顺序不一致,一个表可以有很多个非聚集索引
唯一索引、视图索引、全文索引、xml

如:张三排在某张表的第一位,如果按照年龄排序,张三也是在第一位,这就是聚集索引

增加索引后会增加额外的存储的空间,同时降低增、删、改、查的效率。

创建聚集索引
格式:create clustered index 索引名 on 表名(字段)

---给表中ID这个字段创建聚集索引
create clustered index ixhaha on stu_infor(ID) 

删除索引
格式:drop index 表名.字段

--删除索引
drop index stu_infor.ixhaha

创建非聚集索引
格式:create nonclustered index 索引名 on 表名(字段)

--创建非聚集索引
create nonclustered index xixi on stu_infor(name)

你可能感兴趣的:(Sql Server基本语句操作)