时间紧张,先记一笔,后续优化与完善。
一、数据类型(用常)
数据类型 |
义含 |
CHAR(n) |
长度为n的定长字符串 |
VARCHAR(n) |
大最长度为n的变长字符串 |
INT |
存储正负整数(-2E31~2E32) |
SMALLINT |
存储正负整数(-32768~32767) |
TINYINT |
存储小范围的正整数(0~255) |
NUMERIC(p,d) |
定点数,由p位数字(不含包号符、小数点)成组,小数点面后d位数字 |
FLOAT(n) |
浮点数,精度最少为n位数字 |
DATETIME |
日期 |
二、完整性约束
1、说明
①不允许取值空(NOT NULL)
②列值一唯(UNIQUE)
③指定列值该应满意的条件(CHECK)
④省缺(默许)(DEFAULT)
三、创立表
1、法语
CREATE TABLE <表名>
(<列名> <数据类型>[ <列级完整性约束条件> ]
[,<列名> <数据类型>[ <列级完整性约束条件>] ]
…
[,<表级完整性约束条件> ] );
注:如果完整性约束条件涉及到该表的多个性属列,则必须义定在表级上,否则既可以义定在列级也可以义定在表级。
2、例实
①
create table 先生表
( 学号 varchar ( 6 ) primary key ,
姓名 varchar ( 10 ),
性别 varchar ( 2 ) default ' 男 ' ,
出生日期 datetime ,
政治面貌 varchar ( 10 ) default ' 党员 ' ,
籍贯 varchar ( 10 ),
在所系 varchar ( 4 ))
②
create table 选课表 (
学号 varchar ( 6 ) primary key ,
课程号 varchar ( 4 ),
成就 tinyint check ( 成就 between 0 and 100 ),
foreign key ( 学号 ) references 先生表 ( 学号 ))
③
create type address from char ( 40 ) null
create table student
( Sno char ( 8 ) primary key ,
Sname char ( 8 ) not null,
Ssex char ( 6 ) not null,
Sbirthday datetime not null,
Sage as year ( getdate ())- year ( Sbirthday ),
Saddress address ,
Sphoto image ,
Smemory varchar ( 100 ))
四、修改表
1、法语
(1)加增新列
ALTER TABLE 表名
ADD 列名 数据类型 完整性约束
(2)修改列的类型
ALTER TABLE 表名
ALTER COLUMN 列名 数据类型
(3)加增约束条件
ALTER TABLE 表名
ADD 完整性约束
(4)删除指定列
ALTER TABLE 表名
DROP COLUMN 列名
(5)删除指定的完整性约束条件
ALTER TABLE 表名
DROP 完整性约束名
(6)修改列名
exec sp_rename 表名.列名', '表名.新列名',’column’
(7)修改表名
exec sp_rename 就表名', '新表名 '
2、例实
(1)加增新列
①给先生表加添新字段‘手机号码’,并设置一唯值约束
alter table 先生表
add 手机号码 char ( 11 ) unique
(2)修改列的类型
①将先生表的‘手机号码’字段长度为改11
alter table 先生表
alter column 手机号码 char ( 11 )
(3)加增约束条件
①给先生表的籍贯字段加添默许值约束,默许值为“陕西”
alter table 先生表
add default ' 陕西 ' for 籍贯
②对StudentCourse表的Score行进CHECK约束:Score必须在至之间。
alter table StudentCourse
add check ( Score >= 0 and Score <= 100 )
③对Teaching表义定外键约束
alter table Teaching
add foreign key ( Tno ) references TeacherInfo ( Tno )
(4)删除指定列
①删除先生表的‘手机号码’字段
alter table 先生表
drop column 手机号码
(5)修改列名
①把先生表的“姓名”列改名为“先生姓名”
exec sp_rename ' 先生表 . 姓名 ' , ' 先生姓名 ' , 'column'
(6)修改表名
①把“先生表”改名为“studentinfo”
exec sp_rename ' 先生表 ' , 'studentinfo'
五、删除表
1、法语
(1)删除表的记载,保存表的结构,写日记可以恢复
①法语: DELETE FROM <表名>[WHERE <条件>]
(2)删除表的全部记载,保存表的结构,不写日记,没法恢复,速度快
①法语: TRUNCATE TABLE <表名>
(3)删除表的结构和数据
①法语: DROP TABLE <表名>[RESTRICT| CASCADE]
②注解:
l RESTRICT:删除表是有制限的。欲删除的基本表不能被其他表的约束所引用。若存在赖依该表的象对,则此表不能被删除。
l CASCADE:删除该表没有制限。在删除基本表的同时,相干的赖依象对一同删除。
2、例实
①删除选课表
drop table 选课表
②删除选课表的内容
方法一:
truncate table student
方法二:
delete from student
文章结束给大家分享下程序员的一些笑话语录: 小沈阳版程序员~~~ \n程序员其实可痛苦的了......需求一做一改,一个月就过去了;嚎~ \n需求再一改一调,一季度就过去了;嚎~ \n程序员最痛苦的事儿是啥,知道不?就是,程序没做完,需求又改了; \n程序员最最痛苦的事儿是啥,知道不? 就是,系统好不容易做完了,方案全改了; \n程序员最最最痛苦的事儿是啥,知道不? 就是,系统做完了,狗日的客户跑了; \n程序员最最最最最痛苦的事儿是啥,知道不? 就是,狗日的客户又回来了,程序给删没了!