sql sever数据库常用的执行语句

–使用master数据库
use master

–创建数据库文件
create database 数据库名字
on

  name=, –逻辑名称
  filename= .ndf, –数据文件物理路径名称
  size=, –文件初始大小
  maxsize= , –文件最大的大小
  filegrowth= –自动增长

–创建数据库日志文件
log on

  name=, –逻辑名称
  filename= .ldf, –日志文件物理路径名称
  size=, –文件初始大小
  maxsize= , –文件最大的大小
  filegrowth= –自动增长

go

–修改数据库的名称
alter database 数据库名称
modify name = 新名称

–给数据库添加一个数据文件
alter database testdb
add file

  name=, –逻辑名称
  filename= .ndf, –数据文件物理路径名称
  size=, –文件初始大小
  maxsize= , –文件最大的大小
  filegrowth= –自动增长

go

–给数据库添加一个日志文件
alter database testdb
add log file

  name=, –逻辑名称
  filename= .ldf, –日志文件物理路径名称
  size=, –文件初始大小
  maxsize= , –文件最大的大小
  filegrowth= –自动增长

go

–删除数据文件或日志文件
alter database testdb
remove file 数据文件逻辑名称
go

alter database testdb
remove file 日志文件逻辑名称
go

–修改数据文件或日志文件
alter database testdb
modify file

  name=, –逻辑名称
  filename= .ndf, –数据文件物理路径名称
  size=, –文件初始大小
  maxsize= , –文件最大的大小
  filegrowth= –自动增长

go
modify file

  name=, –逻辑名称
  filename= .ldf, –日志文件物理路径名称
  size=, –文件初始大小
  maxsize= , –文件最大的大小
  filegrowth= –自动增长

go

–分离数据库(执行存储过程)
exec sp_detach_db 数据库名字
go

–附加数据库(执行存储过程)
exec sp_attach_db @dbname=, –附加的逻辑名称
@filename1=, –数据文件物理路径名称
@filename2= –日志文件物理路径名称
go

–删除数据库
use master
go

drop database 数据库名字
go

 

–数据类型

种类:
数字数据类型:int,bigint,smallint,tinyint,decimal,mumeric,float,real,money,smallmoney,bit

字符数据类型:char,varchar,nchar,nvarchar,ntext text

日期和时间:datetime,smalldatetime,date,time,datetime2,datetimeoffsef

二进制数据类型:binary,varbinary,image

其他数据类型:uniqueidentifier,xml,timestamp,sql_variant

整型:
bigint(取值范围在(-2^63次方)到(2^63次方-1))、存储8个字节。(不常用)
int(取值范围在(-2^31次方)到(2^31次方-1))、存储4个字节。
smallint(取值范围在(-2^15次方)到2^15次方-1)、存储2个字节。
tinyint(取值范围在0到255)、存储1字节。

浮点类型:
float(存储取决与n的值)
real(存储4个字节)

字符类型:
char 类型是固定长度
varchar 类型是可变长度

日期类型:
datetime(取值范围在 1753年1月1日到9999年12月31日)、精确度3.33毫秒。
smalldatetime(取值范围在 1900年1月1日到2079年6月6日)、精确度1分钟。

其他类型:

a)用于存储大型非Unicode字符、Unicode字符及二进制数据的固定长度数据类型和可变长度数据类型:
ntext:类型长度是可变的Unicode,最大长度为2^30次方-1个字符,存储大小是所输入字符个数的两倍。
text:服务器代码页中长度可变的非Unicode数据,最大长度为2^31次方-1个字符,当服务器代码页使用双字节字符时,存储仍是2,147,483,647 字节。根据字符串,存储大小可能小于2,147,483,647 个字节。
image:长度可变的二进制数据,从0到2^31次方-1个字节。

b)用来存储Unicode字符数据集的字符数据类型(nchar 长度固定,nvarchar 长度可变)。
nchar[(n)]:n个字符的固定长度的Unicode字符数据,n值必须在1到4000之间(含)。存储大小为两倍n字节。
nvarchar[(n|max)]:可变长度Unicode字符数据,n值咋1到4000之间(含),max指示最大存储大小为2^31次方-1字节。
存储大小是所输入字符个数的两倍+2个字节,所输入数据的长度可以为0个字符。

c)用来存储二进制数据的固定长度或可变长度的Binary数据类型。
binary[(n)]:长度为n字节的固定长度二进制数据,其中n是从1到8,000的值。存储大小为n字节。
varbinary[(n|max)]:可变长度二进制数据。n可以取从1到8,000的值。max指示最大的存储大小为2^31字节-1字节。存储大小为所输入数据的实际长度+2个字节。所输入数据的长度可以是0字节。

创建数据表:

–先使用新创建的数据库,然后再创建表
use 数据库名
go

–创建数据表
create table 数据表名
(
–表里的字段的定义
–语法:字段名 数据类型 [约束]
–约束可加可不加,加一个约束可以,加多个约束也可以
)
go

–创建数据表添加约束
create table 数据表名
(
–identity标识列约束:自动增长,只能在整形的列上添加该约束
–primary key主键约束:不能为空且值不能重复
–unique唯一约束:值唯一不能重复,但可以为空
–not null非空约束:值不能为空
–check检查约束:可以设置检查条件
–default默认约束:可以设置默认值
)
go

–修改表
alter table 表名

–添加列
alter table 表名
add 列名 数据类型 列的特征

–删除表
drop table 表名

–删除列
alter table 表名
drop column 列名

–修改用户名
alter table 表名
alter column 列名

–添加检查约束
alter table 表名
add constraint 约束名 约束表达式

–删除一个约束
alter table 表名
drop constraint 约束名

约束类型:

主键约束(primary key constraint):主键列数据唯一,并且不为空,简称pk。
唯一约束(unique constraint):保证该列不允许出现重复值,简称UQ。
检查约束(check constrait):限制列中允许的取值以及多个列之间的关系,简称CK。
默认约束(default constraint):设置某列的默认值,简称DF。
外健约束(foreign key constraint):用于在两个表之间建立关系,需要指定主从表,简称FK。

添加约束语法:
alter table 表名
add constraint 约束名 约束类型 具体的约束说明

 

数据操纵语言(DML):
按照指定的组合、条件表达式或排序检索已存在的数据库中数据,或对已经存在的数据库表进行元组的插入、删除、修改等操作。
命令:
select 字段名 from 表名
where 当下条件

insert into 表名(字段名)
values(值1、值2、值….)

update 表名 set 字段名=值
where 当下条件

delete from 表名
where 当下条件

数据定义语言(DDL)
创建、修改或删除数据库中各种对象,包括表、视图、索引等。
命令:
create table , create view ,create index、alter table , drop table , drop view , drop index

数据控制语言(DCL)
用来授予或收回访问数据库的某种特权、控制数据访问的发生时间及效果、对数据库进行监视。
命令:
grant、revoke

事务控制语言(TCL)
用来操作事务提交或回滚操作的语句。
命令:
commit、rollback

逻辑运算符:
and 逻辑语 (如果两个布尔表达式都为true,那么就为true)。
not 逻辑非 (对任何其他布尔运算符的值取反)。
or 逻辑或 (如果两个布尔表达式中的一个为true,那么就为true)

比较运算符
between (如果操作输在某个范围之内,那么就为true)。
in (如果操作数等于表达式列表中的一个,那么就为true)。
like (如果操作数与一种模式相匹配,那么就为true)。

通配符:
% (包含零个或更多字符的任意字符串)。
_(下划线) (任何单个字符)。

添加数据操作:
插入数据:
1)insert into 表名(字段1、字段n…)
values(值1、值2、值….)

2)insert into 表名
select 字段 from 新表名

直接创建没创建的表:
3)select 字段 into 未创建过的新表名 form 表名

4)insert into 表名
values (值1),(值2),(值3)

5)insert into 表名
select 值1 union 值2 union 值3

 

修改数据操作:
updade 表名 set 字段名 (不带条件)
updade 表名 set 字段名1、字段名2 where 当下条件 (带条件)

删除数据操作:
delete from 表名 (不带条件)
delete from 表名 where 当下条件 (带条件)

删除表里的所有数据:
truncate table 表名

查询数据操作:
–查询所有行所有列
select * from 表名

–查询部分行部分列
select 字段1,字段2,字段n from 表名

–查询部分行所有列
select * from 表名
where 当下条件

–查询部分行部分列
select 字段1,字段2,字段n from 表名
where 当下条件

–指定列查询,并给每一列设置一个列名(相当于取一个别名)
第一种方式:
select 别名1=字段名1,别名2=字段名2,别名n=字段名n from 表名

第二种方式:
select 字段名1 as 别名1,字段名2 as 别名2,字段名n as 别名n from 表名

group by分组查询:
第一种方式:
select 字段名1 from 表名 group by 字段名1

第二种方式:
select 字段名1 from 表名
where 当下条件
group by 字段名1

第三种方法:
select 字段名1 from 表名
group by 字段名1
having count(*)范围

第四种方法:
select 字段名1 from 表名
where 当下条件
group by 字段名1
having count(*)范围

order by查询后排序:
第一种方法(降序):
select * from 表名
order by 字段名 desc

第二种方法(升序):
select * from 表名
order by 字段名 asc(asc不写,默认的也是升序)

第三种方法(按多个不同的类型分别排序):
select * from 表名
order by 字段名1 desc(降序),字段名2 desc(降序)

top取前几条数据:
第一种方法(比如取前5条):
select top 5 * from 表名

第二种方法(用10%):
select top 10 percent * from 表名

使用“+”符号进行多列合并并查询

 

注:

   1、可能有忽略了一些,但基本上很齐全。

  2、本博文为原创,是个人积累的笔记。

    原文作者:程序_小咖
    原文地址: https://www.cnblogs.com/laibin/p/5843405.html
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞