SQL Server 2005系列教学(3) 创建数据表

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
简介:


现在我们已经知道了如何利用图形界面创建数据库了,但数据库仅仅是一个存放数据的仓库,我们还没有把具体的数据存放进去,是不是?我们把表格中的数据放进去了吗?没有。

那么我们下面就要把表格中的数据放进去,就是建表。建表之前我们需要掌握几个术语。
 
 
数据表是数据库是最重要的对象,数据库中的所有数据都是存放在数据表中的.数据表和平时我们所说的表格类似.我们先来看一个我们平时的表格.
准备工作:
确定表名:
确定表的属性:
 
 
字段名
记录
 

编号
姓名
性别
年龄
籍贯
电话号码
是否党员
0001
贾宁
27
黑龙江
131412315678
0002
霍玉娟
25
天津
131456781234
0003
李逍遥
40
杭州
13845678914
0004
赵灵儿
38
北京
13945678912
 
 
 
 
 
 
 
 
 
每一列称为一个字段,字段的标题称为字段名
每一行称为一条记录!
如第一条记录的编号字段值为“0001”,姓名字段值为“贾宁”
是否为空:有些可以为空,但有些是不可以为空的,空了的话那么这张表就没有意义了。如编号,姓名,等等。
我们再研究一个问题就是这么字段中哪一个能唯一的确定一个记录。也就是说字段值不会有重复的。这个字段就称为“主键”。“编号”
主键:该字段能唯一的确定一条记录。
掌握了这些我们就可以建表了。建表的顺序是先建库的结构也就是字段再输入记录!
常用数据类型
数据类型:指的是你为每个字段指定某种类型,那么在以后进行录入的时候就只能是该类型或者是相兼容的类型,比如年龄,应该是数字,但如果你写一个字母进去就不行。
 
 
数值型
整数类型和小数类型
四种整数数据类型,只是表示数的范围不同
  1bigint 大整型,从-263次方到263次方减1的所有整型数据(所有数字)。存储大小为8个字节。
     2INT INTEGERINT (或INTEGER)数据类型存储从-231次方 -2 147 483 648 231次方-1 147 483647 之间的所有正负整数。每个INT 类型的数据按个字节存储,其中位表示整数值的正负号,其它31 位表示整数值的长度和大小。
  3SMALLINT  SMALLINT 数据类型存储从-215次方( -32 768 215次方-1 32 767 )之间的所有正负整数。每个SMALLINT 类型的数据占用个字节的存储空间,其中位表示整数值的正负号,其它15 位表示整数值的长度和大小。
    4TINYINT    TINYINT数据类型存储从255 之间的所有正整数。每个TINYINT类型的数据占用个字节的存储空间。
如果你不能确定具体使用哪种类型你就使用 INT 型,但你在付出的代价就是多浪费了一些磁盘空间。
 
 
小数类型:
Numeric  -1038+11038次方-1之间的小数  存储的长度和精度有关
       1-9  5字节   10 -19  9字节   20-18 13字节    29 – 38  17字节
          总长度,小数位   对小数位会四舍五入
Float  -1.79E+308    1.79e+308
Float 有效值参见联机丛书
 
 
字符类    用到最多的。   四种
           1 CHAR(n)  固定长度字符型  若输入数据的字符个数小于n,则系统自动在其后添加空格来填满设定好的空间。若输入的数据过长,将会截掉其超出部分。固定给你,你不用也给你。 最大长度 8000 个字符
 
     2VARCHAR可变长度字符型   若输入的数据过长,将会截掉其超出部分。若输入数据的字符数小于,则系统不会在其后添加空格。 他也能达到 8000 个字符的长度
 
declare @A CHAR(5),@B VARCHAR(5)
SET @A='AA'
SET @B='BB'
PRINT @B+@A
 
declare @A CHAR(5),@B VARCHAR(5)
SET @A='AAAAAA'
SET @B='BBBBBB'
PRINT @B+@A
 
3Nchar(n) 包含n个字符的固定长度的unicode字符数据,存储大小为两倍的两倍
4.  nvarchar(n) 包含n个字符的可变长度unicode字符数据,字节的存储大小是所输入字符个数的两倍。
 
 
逻辑数据类型
BIT BIT数据类型占用个字节的存储空间,其值为。如果输入以外的值,将被视为1 BIT 类型不能定义为NULL  或者是  true 为真,即为1  false为假,即为0
 
日期型
DATETIME   一个 DATETIME型的字段可以存储的日期范围是从1753年1月1日第一毫秒到99991231最后一毫秒。
 SMALLDATETIME   一个SMALLDATETIME型的字段能够存储从1900年1月1日到2079年6月6日的日期,它只能精确到分钟。 
DATETIME 占用 8 个字节,而 SMALLDATETIME 只占 4 个字节。
 
:插入记录时,应使用   
 
货币型:货币数据类型用于存储货币值。在使用货币数据类型时,应在数据前加上货币符号,系统才能辨识其为哪国的货币,如果不加货币符号,则默认为
MONEY 介于 -2^632^63-1之间,
SMALLMONEY 介于 -2^312^31-1
 
图形界面建表:    并插入记录测试
 
 命名方式:
 
 
建表;
Create table  表名
(字段名  字段类型(长度)是否为空not null 是否为主键primary key
字段名  字段类型 (长度) 是否为空
………
具体如
create table student
(编号 char(4) not null primary key,
 姓名 varchar(10) not null,
 性别 char(2) ,
 年龄 tinyint,
 籍贯 varchar(10),
 手机号码 varchar(15),
 部门 varchar(20)
 是否党员 bit)
系统默认长度的数据类型则不能再指定长度。注意;正确选择当前数据库
 
那如果发现表的结构不合理怎么办?
 
修改表
[1.1]、添加列
Alter table 表名称 add 列定义 | 计算列 | 表约束[,...]
[1.2]、编辑列
alter table 表名称 alter column 列定义
[1.3]、删除列
alter table 表名称 drop column 列名称
 
 
 
如果有多个文件组的话可以将表放在指定的文件组中
create table yuangong (编号 char(4),
姓名 varchar(8)) on filegroup02
 
创建一个计算列的表
create table 员工表
(
姓名 nvarchar(20) not null,
性别 bit,
年龄 tinyint,
籍贯 nvarchar(20),
出生日期 datetime,
联系电话 varchar(20),
基本工资 money,
奖金     money,
交通补助 money,
住房补助 money,
应缴税款 money,
最后所得 as 基本工资+奖金+交通补助+住房补助-应缴税款
)
 
创建一个编号自增的表
create table yuangong (编号 int identity primary key,
姓名 varchar(8)) on filegroup02 --------主键约束
 
SET identity_insert 表名 ON(系统默认:off)同时只能对一个表进行操作
比如:
  SET identity_insert STUDENT ON
  Insert into student(stu_id) values(100)
 
 
create table 职务表
(
职务编号 int Not Null Identity,
职务名称 nvarchar(30) not null
)
 
创建数据库的时,如果数据库已经存在,为了美观不能让系统报错,让系统输出一个提示即可!加入一个 if not exists  …………………………..
 
 
 
 
 本文转自 dufei 51CTO博客,原文链接:http://blog.51cto.com/dufei/80748,如需转载请自行联系原作者

 
 
 
相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
相关文章
|
13天前
|
SQL 人工智能 算法
【SQL server】玩转SQL server数据库:第二章 关系数据库
【SQL server】玩转SQL server数据库:第二章 关系数据库
52 10
|
23天前
|
SQL
启动mysq异常The server quit without updating PID file [FAILED]sql/data/***.pi根本解决方案
启动mysq异常The server quit without updating PID file [FAILED]sql/data/***.pi根本解决方案
17 0
|
13天前
|
SQL 算法 数据库
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(二)数据查询
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(二)数据查询
82 6
|
2天前
|
SQL 关系型数据库 MySQL
:“You have an error in your SQL syntax; check the manual that corresponds to your MySQL server versi
:“You have an error in your SQL syntax; check the manual that corresponds to your MySQL server versi
8 0
|
6天前
|
SQL 自然语言处理 数据库
NL2SQL实践系列(2):2024最新模型实战效果(Chat2DB-GLM、书生·浦语2、InternLM2-SQL等)以及工业级案例教学
NL2SQL实践系列(2):2024最新模型实战效果(Chat2DB-GLM、书生·浦语2、InternLM2-SQL等)以及工业级案例教学
NL2SQL实践系列(2):2024最新模型实战效果(Chat2DB-GLM、书生·浦语2、InternLM2-SQL等)以及工业级案例教学
|
9天前
|
SQL 安全 网络安全
IDEA DataGrip连接sqlserver 提示驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接的解决方法
IDEA DataGrip连接sqlserver 提示驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接的解决方法
19 0
|
14天前
|
SQL 存储 数据挖掘
数据库数据恢复—RAID5上层Sql Server数据库数据恢复案例
服务器数据恢复环境: 一台安装windows server操作系统的服务器。一组由8块硬盘组建的RAID5,划分LUN供这台服务器使用。 在windows服务器内装有SqlServer数据库。存储空间LUN划分了两个逻辑分区。 服务器故障&初检: 由于未知原因,Sql Server数据库文件丢失,丢失数据涉及到3个库,表的数量有3000左右。数据库文件丢失原因还没有查清楚,也不能确定数据存储位置。 数据库文件丢失后服务器仍处于开机状态,所幸没有大量数据写入。 将raid5中所有磁盘编号后取出,经过硬件工程师检测,没有发现明显的硬件故障。以只读方式将所有磁盘进行扇区级的全盘镜像,镜像完成后将所
数据库数据恢复—RAID5上层Sql Server数据库数据恢复案例
|
17天前
|
SQL 数据安全/隐私保护
SQL Server 2016安装教程
SQL Server 2016安装教程
21 1
|
17天前
|
SQL 安全 Java
SQL server 2017安装教程
SQL server 2017安装教程
15 1
|
1月前
|
SQL 存储 Python
Microsoft SQL Server 编写汉字转拼音函数
Microsoft SQL Server 编写汉字转拼音函数