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 [NOT NULL][DEFAULT],

Colunmname2datetype [NOT NULL][DEFAULT],

Colunmname3datetype [NOT NULL][DEFAULT]

)

*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中创建插入的结果截图:

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

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

四、表的删除、截断与重命名

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中也都可以通过各自提供的工具方便地完成。基本上掌握了基本的知识,但还是要不断地练习巩固。通过自己看书与上机练习,学到了不少东西,同时由于自己刚开始学,经常写错关键字,导致无法得到满意的结果,但最后经过自己的细心检查、不断练习,逐渐的掌握了这些知识,感觉很充实。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值