数据表的基本操作

1、创建数据表

在创建完数据库之后,接下来的工作就是创建数据表。创建数据表是在已经创建好的数据库中建立新表。创建数据表的过程是规定数据列属性的过程,同时也是实施数据完整性(包括实体完整性、引用完整性和域完整性)约束的过程。

1.1、创建数据表的基本方法

数据表属于数据库,在创建数据表之前,应该先在对象浏览器中选择在哪一个数据库中进行操作。如果没有选择数据库,就不能创建数据表。最常见的创建数据表有以下两种:

1.1.1、使用对象浏览器创建数据表

1.1.2使用SQL语句创建数据表

1.2使用主键约束

主键又称主码,是表中一列或者多列的组合。主键约束要求主键列的数据唯一,并且不允许为空。主键能够唯一的标识表中的一条记录,可以结合外键来定义不同数据表之间的关系,并且可以加快数据库查询的速度。主键分为两种类型:单字段主键和多字段联合主键。

1.2.1、单字段主键

主键由一个字段组成,SQL语句分为以下两种状况:

在定义列的同时指定主键

1 create table tb_emp2(
2 id int primary key,
3 name varchar(25),
4 deptid  int,
5 salary  float
6 )

在定义完所有列之后指定主键:

 

1 create  table tb_emp3
2 (
3 id  int,
4 name varchar(25),
5 deptid  int,
6 salary  float,
7 primary  key(id)
8 )

 

1.2.2:多字段联合主键

主键由多个字段联合组成:

1 create table tb_emp4(
2 name varchar(25),
3 deptid  int,
4 salary  float,
5 primary  key (name,deptid)
6 )

 

1.3、使用外键约束

外键用来在两个表之间建立数据连接,可以是一列或者多列。一个表可以有一个或者多个外键。外键对应的是参照完整性。一个表的外键可以为空值,若不为空值,则每一个外键值必须等于另一个表中主键的值。

1 create  table tb_emp5
2 (
3 id int primary key,
4 name varchar(25),
5 deptid  int,
6 salary  float,
7 constraint fk_emp_dept1 foreign key(deptid)references tb_dept1(id)
8 )

 

 1.4 使用非空约束

非空约束是指字段的值不能为空。对于使用非空约束的字段的值,如果用户在添加数据时没有指定值,数据库系统就会报错。

非空约束的语法规则如下:

字段名 数据类型  not  null

1.5、使用唯一约束

唯一约束要求添加该约束的列字段的值唯一,允许为空。但只能出现一个空值。唯一约束可以确保一列或者几列不出现重复值。

在定义完列之后直接指定约束:

字段名   数据类型  unique  

1 create  table  tb_dept2
2 (
3 id int primary key,
4 name varchar(25) unique,
5 location varchar(50)
6 )

 

在定义完所有列之后指定唯一名称:

1 create table  tb_dept3
2 (
3 id  int primary  key,
4 name varchar(22),
5 location  varchar(50),
6 constraint  sth unique(name)
7 )

 

1.6、默认约束

默认约束是指定某列的默认值。

默认语法规则如下:

字段名    数据类型  default   默认值

2、修改数据表

修改表指的 是修改数据库中已经存在的数据表结构。常用的修改表的操作有修改表名、修改字段数据类型或者字段名、增加和删除字段、修改字段的排列位置、更改表的存储引擎、删除表的外键约束等。

2.1、修改表名

1 alter table tb_dept3 rename to tb_department3;

 

2.2、修改字段类型

使用对象浏览器修改字段的数据类型

使用sql语言修改数据类型

1 alter table tb_dept1 alter column name type varchar(30);

 

2.3、修改字段名

1 alter table tb_dept1 rename location to loc;

 

2.4、添加字段

随着业务需求的变化,可能需要在已经存在的表中添加新的字段。一般情况下,一个完整的字段包括字段名、数据类型、完整性约束。使用SQL语句添加字段的格式如下:

2.4.1、添加无完整性约束条件字段:

1 alter table tb_dept1 add column managerid int;

 

2.4.2、添加有完整性约束条件的字段

1 alter table tb_dept1 add column column1 varchar(12) not null;

 

2.5、删除字段

删除字段是将数据表中的某个字段从表中移除,对于不用的字段,可以进行删除操作。删除字段numb字段,SQL语句如下:

1 alter table tb_dept1 drop numb;

 

2.6、删除表的外键约束

对于数据库中定义的外键,如果不再需要,可以将其删除。外键一旦删除,就会解除主表和从表之间的关联关系。

1 alter table tb_emp9 drop constraint fk_emp_dept;

 

3、删除数据表

删除数据表是将表中已经存在的表从数据库中删除。注意,删除表的同时,表的定义和表中所有的数据均会被删除,因此,在删除操作前,最好对表中的数据备份,以免造成无法挽回的后果。

3.1、删除没有被关联的表

1 drop table if exists tb_dept2;

 

3.2、删除被其他表关联的主表

数据表之间存在外键关联的情况下,如果直接删除父表,结果会显示失败,原因是直接删除将破坏表的参照完整性。如果必须要删除,可以先删除与之关联的子表,再删除父表,但是这样会同时删除两个表中的数据。有的情况下需要保留子表,这时若要单独删除父表,只需将关联的表的外键约束条件取消,然后删除父表。

解除关联子表的外键约束

1 alter table tb_emp drop constraint fk_emp_dept;

 

posted @ 2019-11-03 22:08  zxmei  阅读(356)  评论(0)    收藏  举报