个人笔记:数据库——第三章 第一部分 DDL 数据定义语言

本文仅供参考学习使用,谢谢

SQL语言种类操作
DDL 数据定义语言create(创建) drop(删除) alte(修改)
DQL 数据查询语言select(查询)
DML 数据操纵语言insert(插入) update(更新) delete(删除)
DCL 数据控制语言grant(授予) revoke(吊销)

视图链接

DDL数据定义语言

SQL server常用数据类型

  • 整数类型:
  1. BIGINT——8字节的整型
  2. INT——4字节的整型
  3. SMALLINT——2字节的整型 范围从-32768到32767
  4. TINYINT——1字节的整型 范围从-255到255
  5. BIT——1位的整型 只能表示0或1,用来表示真假逻辑关系(FALSE/TRUE)
  • 浮点型:
  1. FLOAT(n)——可选精度的浮点数,精度至少为n位数字
  2. REAL——4字节的浮点数型
  • 数字数据类型:

p(精度):小数点两边的总位数
s(小数位数):小数点右边的位数

  1. DECIMAL(p,s)
  2. NUMERIC(p,s)
  • 日期/时间类型:
  1. date-----------日期型
  2. DATETIME——存储从1753年1月1日至9999年12月31日的日期(每个数值要求8个字节的存储空间)
  3. SMALLDATETIME——存储从1900年1月1日至2079年6月6日的日期(每个数值要求 4 个字节的存储空间)
  • 字符数据类型
  1. CHAR(n) ——n个字节,具体值由n决定
  2. VARCHAR(n):最大为n个字节

约束语句

  • not null 非空约束
  • unique 唯一约束
    一个表只能有一个唯一约束
  • primary key 主键约束
    [constraint <约束名>] primary key (列名[{,列名}])
  • foreign key 外键约束
    [constraint <约束名>] foreign key references <主表名> (<列名>[{,列名}])
  • check 检查约束
    [constraint <约束名>] check (<条件>)
    一个表可以定义多个check约束,但是每个字段只能定义一个check约束
  • default 默认初始值
    如果没有输入,就是该默认值,不为NULL

1.基本表的定义删除与修改:

  1. create:
create table <表名1> (<字段1 数据类型 约束>,<字段2 数据类型 约束>,primary key(字段1,字段2) )

eg:

create table Room(
roomNo char(10) primary key,
hotelNo char(10) default0000000000,
type char(10) not null,
price char(10) not null check(price>=100),
foreign key(hotelNo) references Hotel(hotelNo)
);

//若primary key是由多个属性组成则
//表级约束性条件加上 primary key(A,B),
  1. drop:
drop table <表名>

eg:

ALTER TABLE Course DROP CONSTRAINT 自定义的约束名
//删除属性的某约束条件,约束名是用户自定义的
  1. alte:
//add语句 添加 列
alter table <表名> add <列名 数据类型 约束>

//alter语句 修改约束条件或数据类型
alter table <表名> alter column <列名> <数据类型> <约束>

eg:

alter table Course add unique (Cname)//未自定义约束条件约束名
ALTER TABLE Course ADD constraints aaa UNIQUE(Cname)//自定义约束条件约束名

alter table Student alter column Sage int

2.索引的定义删除与修改:

  • 索引的作用
  1. 在日常生活中我们会经常遇到索引,例如图书目录、词典索引等。
  2. 借助索引,人们会很快地找到需要的东西。
  3. 索引是数据库随机检索的常用手段,它实际上就是记录的关键字与其相应地址的对应表。
  4. 例如,当我们要在本书中查找有关“SQL查询”的内容时,应该先通过目录找到“SQL查询”所对应的页码,然后从该页码中找出所要的信息。这种方法比直接翻阅书的内容要快。
  5. 如果把数据库表比作一本书,则表的索引就如书的目录一样,通过索引可大大提高查询速度。
  6. 此外,在SQL SERVER中,行的唯一性也是通过建立唯一索引来维护的。
  • 索引的作用可归纳为:
  1. 加快查询速度;
  2. 保证行的唯一性。

  1. create
CREATE INDEX [UNIQUE / CLUSTER] 索引名 ON 表名(
列名 [次序] 
[,列名 [次序] ]
)

eg:

CREATE UNIQUE INDEX  Stusno ON Student(Sno)CREATE UNIQUE INDEX  Coucno ON Course(Cno)CREATE UNIQUE INDEX  SCno ON SC(Sno ASC,Cno DESC)
  1. drop
DROP INDEX 数据表名.索引

eg:

Drop index S_idx

3. 库的定义删除与修改:

  1. create:
create database 数据库名称
on(
    name=数据文件逻辑名称,
    filename='路径+数据文件名',
    size=数据文件初始大小,
    maxsize=数据文件的最大容量,
    filegrowth=数据文件自动增长量,
)
[log on(
    name = 日志文件逻辑名称,
    filename='路径+日志文件名',
    size=数据文件初始大小,
    maxsize=数据文件的最大容量,
    filegrowth=数据文件自动增长量,
)]
  1. drop:
ADD FILE :向数据库添加数据文件
alter database 数据库名称
add file(
    name=数据文件逻辑名称,
    filename='路径+数据文件名',
    size=数据文件初始大小,
    maxsize=数据文件的最大容量,
    filegrowth=数据文件自动增长量,
)
ADD LOG FILE :向数据库添加日志文件
REMOVE FILE:从数据库删除逻辑文件,并删除物理文件。无法删除文件组不为空的文件。
MODIFY FILE:指定要修改的文件
  1. alte:
drop database 数据库名称
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值