ainila 发表于 2016-11-11 06:33:46

SQL表的操作

数据表操作
这是以前学习SQL Server 2008时总结的东西,发到博客中与大家分享,相互学习吧!
一.认识数据类型
在创建数据表中的字段时,需要指明该字段存放数据的数据类型。
在SQL Server 2008中主要有整数类型、字符类型、货币类型和日期类型等。
1.常用的字符类型有:
数据类型长度描述
char1~8000个字符固定长度类型,如char(5)表示存储5个字符,即使存入2个字符,剩下的用空格补齐。
varchar1~8000个字符可变长度类型,vachar(5)表示存储5个字符类型,如果存储了2个字符,那就表示字符长度为而不是5。
text最多可以存储214748用来存储大量字符
3647个字符
还有nchar、nvachar和ntext三种类型,这三种类型用于存储Unicode字符。
2.整数类型
数据类型范围存储长度
int-231到231-14字节
smallint-215到215-12字节
tinyint0到2551字节
bit0、1或NULL如果表中的列为8bit或更少,则这些列作为1个字节存储,如果列为9到16bit,则这些列作为两个字节存储,以此类推
bigint-263到263-18字节
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.58088字节
smallmoney-214748.3648到214748.36484字节
5.日期和时间数据类型
date公元元年1月1日到公元9999年12月31日固定3个字节
精确到一天
time00:00:00.0000000到23:59:59:9999999固定5个字节
精确到100纳秒
datetime2
datetimeoffset
6.二进制类型
binary1至8000个字节为固定长度,如果插入不够产度,自动补0x00
varbinary varbinary(n):1至8000个字节varbinary(n): 输入的实际长度
varbinary(max):1至231-1个字符varbinary(max): 输入的实际长度加两个字节
image1至231-1个字节可变长度,输入数据的实际长度
7.自定义数据类型:
如果在设计数据表示,几乎所有的数据类型都是vachar(30),那么就可以在SQL Sever 2008中自定义一个数据类型vchar来表示vachar(30).
注意:这是SQL Server 2008中的数据类型,在Access 2007中有些数据类型不一样,这一点必须注意。
二.创建数据表
CREATETABLE table_name
(
Colunmname1datetype ,
Colunmname2datetype ,
Colunmname3datetype
)
*table_name:数据表的名称,一般以英文字母开头,并且不能使用数据库中的关键字命名
*colunmname:列名,列名的命名方法与表名的命名方法相同。最好其具有实际意义的名称。
*datetype:指定数据类型
*NOTNULL:为可选项,加上该项,则向表添加数据时,必须给该字段输入内容,既不能为空。
*DEFAULT:为可选项,加上该项,则向表添加数据时,如果不向该字段添加数据,系统会用默认值填充该字段
例子:
CREATE TABLE STUINFO
(
NOINT NOT NULL,
NAMEVARCHAR(20) NOT NULL,
SEXVARCHAR(2),
MAJORVARCHAR(30),
TELVARCHAR(20)
)

向表中插入一条记录:
INSERT INTO STUINFO
VALUES(2,'张阳','男','机械','13498984321')
INSERT INTO 为关键字,STUINFO 为表名
VALUES 为关键字,其后为每个字段要插入的值。
以下为在Access中创建插入的结果截图:
http://mail.qq.com/cgi-bin/viewfile?f=C13E463394455ED8BD99D49BAF0950A176AD05A5C57C5031969E9AF367E5857650CF7D666A57EA552D161C38A170B592FAD1958C0A73608B9178A9BBC78160DB42C17C790AF8D799D6DED46F83081D6705E3AD2AD2E5106F97633FA4A885897A7750CC066A00FF64213C560DDF80A6BC&sid=UcywhjeNAM_Euy1-
2.1创建主键:
CREATE TABLE STUINFO
(
NOINTPRIMARY KEY,
NAMEVARCHAR(20) NOT NULL,
SEXVARCHAR(2),
MAJORVARCHAR(30),
TELVARCHAR(20)
)
三.修改表结构:
3.1添加字段的语法
ALTERTABLE table_name
ADD
Column_name datetype[(length)];
*table_name:表名
*column_name:字段名
*datetype: 学要添加字段的数据类型
*length:需要添加字段的长度
例如:
ALTER TABLE TEAINFO
ADD SUMARY INT
http://mail.qq.com/cgi-bin/viewfile?f=C13E463394455ED8BD99D49BAF0950A176AD05A5C57C5031969E9AF367E5857650CF7D666A57EA552D161C38A170B592FAD1958C0A73608B9178A9BBC78160DB42C17C790AF8D799D6DED46F83081D6705E3AD2AD2E5106F97633FA4A885897A9CC6BAA26BBC58FF213C560DDF80A6BC&sid=UcywhjeNAM_Euy1-
3.2修改字段的语法
ALTERTABLE table_name
ALTERCOLUMN
column_namedatetype[(lengh)]
如:
ALTER TABLE TEAINFO
ALTER COLUMN
SUMARYVARCHAR(20)
3.3删除字段的语法
ALTERTABLE table_name
DROPCOLUMN column_name
如:
ALTER TABLE TEAINFO
DROP COLUMN SUMARY
http://mail.qq.com/cgi-bin/viewfile?f=C13E463394455ED8BD99D49BAF0950A176AD05A5C57C5031969E9AF367E5857650CF7D666A57EA552D161C38A170B592FAD1958C0A73608B9178A9BBC78160DB42C17C790AF8D799D6DED46F83081D6705E3AD2AD2E5106F97633FA4A885897A5A4841EE465A748F213C560DDF80A6BC&sid=UcywhjeNAM_Euy1-
四、表的删除、截断与重命名
4.1表的删除
DROP TABLE table_name
4.2表的截断
TRUNCATE TABLE table_name
4.3表的重命名
SP_RENAME oldname,newold
在Access中没有TRUNCATE 与SP_RENAME.
总结:
这几天学习了表的操作,表是数据库中重要的对象,表这一章没有太多的知识,主要是常见的数据类型与用SQL语句创建修改表,数据类型不可能全部练到,只能先练习几个,以后遇到哪些类型再用、再练。创建表在SQLServer中与在Access中也都可以通过各自提供的工具方便地完成。基本上掌握了基本的知识,但还是要不断地练习巩固。通过自己看书与上机练习,学到了不少东西,同时由于自己刚开始学,经常写错关键字,导致无法得到满意的结果,但最后经过自己的细心检查、不断练习,逐渐的掌握了这些知识,感觉很充实。
页: [1]
查看完整版本: SQL表的操作