第二章 表的操作

Posted 岁月如歌,往事随风

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第二章 表的操作相关的知识,希望对你有一定的参考价值。

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]

 

以上是关于第二章 表的操作的主要内容,如果未能解决你的问题,请参考以下文章

(王道408考研数据结构)第二章线性表-第三节2:双链表的定义及其操作(插入和删除)

数据结构数据结构知识点整理-第二章-线性表

(王道408考研数据结构)第二章线性表-第一节:线性表的定义和基本操作

MySQL 之 第二章: 库与表的基本操作; 数据类型; 完整性约束; 外键;

(王道408考研数据结构)第二章线性表-第三节1:单链表的定义及其操作(插入和删除,建立之尾插和头插)

第二章学习小结