设为首页 收藏本站
查看: 750|回复: 0

[经验分享] SQL表的操作

[复制链接]

尚未签到

发表于 2016-11-11 06:33:46 | 显示全部楼层 |阅读模式
数据表操作
这是以前学习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中创建插入的结果截图:
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、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-298557-1-1.html 上篇帖子: 大学SQL考试复习题 下篇帖子: 精妙的SQL語句
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表