数据表操作
这是以前学习SQL Server 2008时总结的东西,发到博客中与大家分享,相互学习吧!
一.认识数据类型
在创建数据表中的字段时,需要指明该字段存放数据的数据类型。
在SQL Server 2008中主要有整数类型、字符类型、货币类型和日期类型等。
1.常用的字符类型有:
数据类型 长度 描述
char 1~8000个字符 固定长度类型,如char(5)表示存储5个字符,即使存入2个字符,剩下的用空格补齐。
varchar 1~8000个字符 可变长度类型,vachar(5)表示存储5个字符类型,如果存储了2个字符,那就表示字符长度为而不是5。
text 最多可以存储214748 用来存储大量字符
3647个字符
还有nchar、nvachar和ntext三种类型,这三种类型用于存储Unicode字符。
2.整数类型
数据类型 范围 存储长度
int -231到231-1 4字节
smallint -215到215-1 2字节
tinyint 0到255 1字节
bit 0、1或NULL 如果表中的列为8bit或更少,则这些列作为1个字节存储,如果列为9到16bit,则这些列作为两个字节存储,以此类推
bigint -263到263-1 8字节
3.浮点类型
decimal -1038+1到1038-1 存储长度与精度有关
1~9位时,5字节;10~19位时,9字节
20~28位时,13字节;29~38位时,17字节
Numeric -1038+1到1038-1 存储长度与精度有关
1~9位时,5字节;10~19位时,9字节
20~28位时,13字节;29~38位时,17字节
4.货币类型
money -9223372036853477.5808到9223372036853477.5808 8字节
smallmoney -214748.3648到214748.3648 4字节
5.日期和时间数据类型
date 公元元年1月1日到公元9999年12月31日 固定3个字节
精确到一天
time 00:00:00.0000000到23:59:59:9999999 固定5个字节
精确到100纳秒
datetime2
datetimeoffset
6.二进制类型
binary 1至8000个字节 为固定长度,如果插入不够产度,自动补0x00
varbinary varbinary(n):1至8000个字节 varbinary(n): 输入的实际长度
varbinary(max):1至231-1个字符 varbinary(max): 输入的实际长度加两个字节
image 1至231-1个字节 可变长度,输入数据的实际长度
7.自定义数据类型:
如果在设计数据表示,几乎所有的数据类型都是vachar(30),那么就可以在SQL Sever 2008中自定义一个数据类型vchar来表示vachar(30).
注意:这是SQL Server 2008中的数据类型,在Access 2007中有些数据类型不一样,这一点必须注意。
二.创建数据表
CREATE TABLE table_name
(
Colunmname1 datetype [NOT NULL] [DEFAULT],
Colunmname2 datetype [NOT NULL] [DEFAULT],
Colunmname3 datetype [NOT NULL] [DEFAULT]
)
*table_name :数据表的名称,一般以英文字母开头,并且不能使用数据库中的关键字命名
*colunmname:列名,列名的命名方法与表名的命名方法相同。最好其具有实际意义的名称。
*datetype: 指定数据类型
*NOT NULL: 为可选项,加上该项,则向表添加数据时,必须给该字段输入内容,既不能为空。
*DEFAULT :为可选项,加上该项,则向表添加数据时,如果不向该字段添加数据,系统会用默认值填充该字段
例子:
CREATE TABLE STUINFO
(
NO INT NOT NULL,
NAME VARCHAR(20) NOT NULL,
SEX VARCHAR(2),
MAJOR VARCHAR(30),
TEL VARCHAR(20)
)
向表中插入一条记录:
INSERT INTO STUINFO
VALUES(2,'张阳','男','机械','13498984321')
INSERT INTO 为关键字,STUINFO 为表名
VALUES 为关键字,其后为每个字段要插入的值。
以下为在Access中创建插入的结果截图:
2.1创建主键:
CREATE TABLE STUINFO
(
NO INT PRIMARY KEY,
NAME VARCHAR(20) NOT NULL,
SEX VARCHAR(2),
MAJOR VARCHAR(30),
TEL VARCHAR(20)
)
三.修改表结构:
3.1添加字段的语法
ALTER TABLE table_name
ADD
Column_name datetype[(length)];
*table_name :表名
*column_name:字段名
*datetype : 学要添加字段的数据类型
*length:需要添加字段的长度
例如:
ALTER TABLE TEAINFO
ADD SUMARY INT
3.2修改字段的语法
ALTER TABLE table_name
ALTER COLUMN
column_name datetype[(lengh)]
如:
ALTER TABLE TEAINFO
ALTER COLUMN
SUMARY VARCHAR(20)
3.3删除字段的语法
ALTER TABLE table_name
DROP COLUMN column_name
如:
ALTER TABLE TEAINFO
DROP COLUMN SUMARY
四、表的删除、截断与重命名
4.1表的删除
DROP TABLE table_name
4.2表的截断
TRUNCATE TABLE table_name
4.3表的重命名
SP_RENAME oldname,newold
在Access中没有TRUNCATE 与SP_RENAME.
总结:
这几天学习了表的操作,表是数据库中重要的对象,表这一章没有太多的知识,主要是常见的数据类型与用SQL语句创建修改表,数据类型不可能全部练到,只能先练习几个,以后遇到哪些类型再用、再练。创建表在SQL Server中与在Access中也都可以通过各自提供的工具方便地完成。基本上掌握了基本的知识,但还是要不断地练习巩固。通过自己看书与上机练习,学到了不少东西,同时由于自己刚开始学,经常写错关键字,导致无法得到满意的结果,但最后经过自己的细心检查、不断练习,逐渐的掌握了这些知识,感觉很充实。