码迷,mamicode.com
首页 > 其他好文 > 详细

第二章 表的操作

时间:2018-06-06 23:57:46      阅读:245      评论:0      收藏:0      [点我收藏+]

标签:into   mat   The   set   creat   行操作   foreign   varchar   字节   

1、前言
-》表中每一行代表一条记录,每一列代表记录的每一个字段。
-》没有记录的表称为空表。

2、创建表
-》数据类型
·字符型:char(n) varchar(n) text
·整型:bigint int samllint tinyint (存储大小分别为8、4、2、1个字节)
·精确数值型:decimal[(p[,s])] numeric[p[,s]]
·近似数值型:float(n) real
·日期时间型:datetime samlldatetime date time[(n)]
·货币型:money samllmoney
·二进制类型:binary[(n)] varbinary[(n)] image
·Unicode字符型:nchar ncarchar ntext
-》使用界面操作创建表:略
-》使用T-SQL语句创建表
.语法格式:
use 数据库名
go
create table 表名 (
列名 数据类型 列约束,
...
)
例:use 教学库
go
create table 课程表 (
课程号 char(4) primary key,
课程名 varchar(20),
学时 tinyint,
学分 tinyint
)

2、修改表
-》使用界面操作修改表:略
-》使用T-SQL语句修改表
.语法格式:
alter table 表名
alter column 列名 新数据类型 [列约束] /*修改已有列的属性*/
| add 列名 数据类型 [列约束] /*增加新列*/
| drop column 列名 /*删除列*/
| drop constraint 列约束名[,···n] /*删除约束*/

3、列约束和表约束
-》创建约束
·定义表的同时创建约束
create table 表名(
列名1 数据类型,
列名2 数据类型 constraint 约束名 unique, /*unique的创建*/
列名3 数据类型 constraint 约束名 foreign key references 涉及表名(列名), /*foreign key的创建*/
列名4 数据类型 not null check(关于列名4的逻辑条件), /*check的创建*/
列名5 数据类型 default (默认值), /*定义默认约束*/
constraint 约束名 primary key(列名1[,···n]) /*primary key的创建*/
)
·使用alter table的add constraint子句添加约束
alter table 表名
add constraint 约束名 primary key [clustered|noclustered] (列名[,···n]) /*primary key的创建*/
| add constraint 约束名
foreign key (列名[,···n])
references 涉及表名(列名[,···n]) /*foreign key的创建*/
| add constraint 约束名 unique [clustered|noclustered] (列名[,···n]) /*unique的创建*/
| add constraint 约束名 check (逻辑条件表达式) /*check的创建*/
| add 列名 数据类型 是否为空 constraint 约束名 default 默认值 /*default的创建:增加一字段,并为其设置默认值*/
-》删除约束
alter table 表名
drop constraint 约束名

4、表数据操作
-》插入数据
insert [into] 表名(·,·,···)
values(·,·,···)
例:use 教学库
go
insert into 学生表(学号,姓名,性别,年级)
values(‘0100215‘,‘刘玲玲‘,‘女‘,‘10级‘)
-》修改数据
update 表名
set 列名=值
where 条件表达式
例: update 学生
set 姓名=‘王武‘
where 学号=‘120101‘
-》删除数据(不常用)
·删除数据
delete 表名
[where 条件表达式] /*没有则删除所用行*/
例:delete 学生 where 学号=‘120101‘ /*删除“学生”表中120101学生的记录*/
·清空表格
truncate table 表名 /*truncate比delete没有where删除速度更快*/
-》使用merge语句插入、修改和删除数据
merge 目标表 using 源表 on 匹配条件
where matched then 语句
where not match by source then 语句; /*语句应为 对目标表执行操作的语句*/
-》删除表
drop table 表名[,···n]

 

第二章 表的操作

标签:into   mat   The   set   creat   行操作   foreign   varchar   字节   

原文地址:https://www.cnblogs.com/ysq2018China/p/9147694.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!