SQL Server 笔记

这篇博客详细介绍了SQL Server的应用,包括SQL命令的概括,数据定义语言(DDL)如数据库、表、视图和索引的创建、删除及修改,数据查询语言(DQL)如单表查询、子查询和多表连接查询,以及数据操纵语言(DML)的操作。内容深入浅出,适合SQL Server学习者参考。
摘要由CSDN通过智能技术生成

SQL Server应用笔记

SQL命令

SQL命令概括

SQL命令类型.由以下个部分组成

功能 命令 描述
数据定义语言DDL CREATE,ALTER,DROP 定义数据库,定义表,视图,索引等等
数据查询语言DQL SELECT 对表中数据进行查询
数据操纵语言DML INSERT,UPDATE,DELETE 对表中数据进行增加,删除,修改
数据控制语言DCL GRANT,REVOKE,COMMIT,ROLLBACK 授予用户权限,收回权限,事务的提交,回滚等

数据定义语言DDL(Data Definition Language)

功能 命令 描述
数据定义语言DDL CREATE,ALTER,DROP 定义数据库,定义表,视图,索引等等
数据库 :
数据库的创建:

方法1 :
直接创建,并自动生成数据文件,以及日志文件,并使用默认的名称和默认的的存储空间分配方案。

create database 数据库名称 

方法2:
自定义创建

create database 数据库名称
ON --关键字,表示数据库是依照以下参数创建的
(
NAME = 自定义名称 --逻辑文件名
 FILENAME = '存放位置以及逻辑上的文件名' --Eg: c:\program files\microsoft SQL server\mssql\date\文件名.mdf '
 size = 10 --指定数据库文件的初始大小,默认mb,可以加kb等
 MAXSIZE = 50 --指定数据库文件的最大大小,默认mb 可以加上mb,kb等
 FILEGROWTH = 5 --用于指定数据库文件的增加量,可以加上Mb KB % 等符号,默认为mb。省略此项表示不自动增长。
)
LOG ON --同上
(
NAME = 自定义名称 --逻辑文件名
 FILENAME = '存放位置以及逻辑上的文件名' --Eg: c:\program files\microsoft SQL server\mssql\date\文件名.ldf '
 size = 10 --指定数据库文件的初始大小,默认mb,可以加kb等
 MAXSIZE = 50 --指定数据库文件的最大大小,默认mb 可以加上mb,kb等
 FILEGROWTH = 5 --用于指定数据库文件的增加量,可以加上Mb KB % 等符号,默认为mb。省略此项表示不自动增长。
)

数据库的删除:
DROP DATABASE 数据库名称1,数据库名称2,n

注意:被删除数据库不能是当前正在使用的数据库

表:
表中关键字:

在使用表的创建前要熟悉数据类型以及约束
以下即为数据类型:

  1. 准确型数据类型
SQL SERVER 数据类型 说明
BIGINT 8字节(从-263 到 263-1)
INT 4字节(从-231 到 231-1)
SMALLINT 2字节(从-2615 到 215-1)
TINYINT 存储从0到255之间的整数
BIT 存储1或0
NUMERIC(p,q)或DECIMAL(p,q) 定点精度和小数位数,使用最大精度时有效值从-1038 +1到1038-1, 其中p是精度,指定小数左边和右边一共可以存储的十进制数的最大个数。q是小数位数,指定小数点右边可以存储的十进制数字的最大个数。
  1. 近似型数据类型
SQL SERVER 数据类型 说明
FLOAT 8字节(从-1.79E 到1.79E+308范围内的浮点型数字 )
REAL 4字节(从-3.40E 到3.40E+38范围内的浮点型数字 )
  1. 字符串型
SQL SERVER 数据类型 说明
CHAR(n) 固定长度的字符串类型,n表示字符串的最大长度,取值范围为1~8000
VARCHAR 可变长度的字符串类型,n表示字符串的最大长度,取值范围为1~8000
NCHAR 固定长度的Unicode数据,n表示字符串的最大长度,取值范围为1~4000
NVARCHAR 可变长度的Unicode数据,n表示字符串的最大长度,取值范围为1~4000
TEXT 可存储231 -1个字符的大文本
NTEXT 最多可存储230 -1个字符的统一字符编码文本
BINARY 固定长度的二进制字符数据,n表示最大长度,取值范围为1~8000
VARBINARY 可变长度的二进制字符数据,n表示最大长度,取值范围为1~8000
IMAGE 大容量的,可变长度的二进制字符数据,可以存储多种格式的文件,比如:word,excle,bmp,gif,jpeg等文件数据,最多可存储231 -1约为2GB
  1. 日期类型
SQL SERVER 数据类型 说明
DATETIME 占用8字节空间,存储从1753.1.1到9999.12.31日的日期和时间数据,精确到百分之3秒(3.33毫秒)
SMALLDATETIME 占用4字节空间,存储从1900.1.1到2079.12.31日的日期和时间数据,精确到分钟
  1. 货币型
SQL SERVER 数据类型 说明
MONEY 8字节,存储的货币数据值介于-263 ,与263-1之间,精确到货币单位的千分之一,最多包含19位数
SMALLMONEY 占用4字节空间,存储从1900.1.1到2079.12.31日的日期和时间数据,精确到分钟

以下即为约束:

约束名称 含义
PRIMARY KEY 主码,也称主关键字,是表中属性或属性组,用以唯一的确定一个元组,比如学号
FOREIGN KEY 外码,也称外键或外关键字。可以设置表中的一个(或多个)属性,让它引用某个表的主码,使表中属性集的取值受它引用的属性集取值的约束。这个受约束的属性集称为外码
DEFAULT 设定列的默认值。使用形式为:DEFAULT 常量
CHECK 用于限定列的取值范围,使用形式是:CHECK(约束表达式)Eg:CHECK(年龄>10 and 年龄<60)
NOT NULL 非空约束,限定某列的取值不允许为空。
UNIQUE 限定某一列的取值唯一,换句话说列的取值不能重复
表的创建:

我们再来看表的创建

CREATE TABLE 表名
(
列名 该列的数据类型   该列的约束,
列名 该列的数据类型   该列的约束,
.
.
.
列名 该列的数据类型   该列的约束   --在最后一行前的每一行都要有逗号



Eg:
CREATE TABLE BOOK
(
BOOK_ID CHAR(10) PRIMARY KEY,
NAME    VARCHAR(30) NOT NULL,
AUTHOR VARCHAR(10),
PRICE DECIMAL(6,2) CHECK(PRICE>0),
)
CREATE TABLE BORROW
(
BOOK_ID CHAR(10),--当外码做主码时其约束类型要一致
READER_ID char(10),
PRIMARY KEY(BOOK_ID,READER_ID),--表示两个外码共同做主码
FOREIGN KEY(BOOK_ID) REFERENCES book(BOOK_ID)--表示外码的来源
FOREIGN KEY (READER_ID) REFERENCES READER(READER_ID)
)
表的删除:
DROP TABLE 表名  --删除单个表
DROP TABLE 表名,表名 --删除多个表

注意:当表中列被参照时,表不能被删除,比如reader表的reader_id被borrow表中的reader_id参照时,就不能直接删除reader表,要先将参照的关系去除掉,在删除读者表,或先将borrow表删除掉,再删除reader表

表结构的修改:

下面是SQL 的 ALTER TABLE语句的格式:

  1. 表中列的修改:
ALTER TABLE 表名
(
ALTER COLUMN 列名 新数据类型
ADD 列名 数据类型 约束
DROP COLUMN 列名
)
  1. 表中约束的修改:
ALTER TABLE 表名
(
--WITH CHECK --WITH NOCHECK
ADD CONSTRAINT 约束名称 约束定义
DROP CONSTRAINT 约束名称
)

添加约束时可以选WITH CHECK 可以设定是否对表中原有数据进行检查,若有存在不满足约束的数据,那约束将

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值