SQL表的操作

来源:互联网 发布:释放被占用的端口 编辑:程序博客网 时间:2024/06/14 01:54

                                                         数据表操作

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

原创粉丝点击