当前位置:   article > 正文

数据库的基本操作(创建表、查看表、修改表、删除表)_数据库表

数据库表

一、创建表

1、创建表的格式

create table 表名(
字段名1 数据类型 约束条件,
字段名2 数据类型 约束条件,
字段名3 数据类型 约束条件,
......
约束条件
);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

2、约束条件

(1) 设置主键约束

主键又叫主码,用于唯一标识记录的字段。

  • 一张表只能有一个主键,并且主键不为空
  • 关键字:primary key

格式一:

字段名 数据类型 primary key
  • 1

格式二:

primary key(字段名)
  • 1

(2)设置自增约束

如果用户希望某个字段能够按照顺序自动生成编号,可以为该字段设置自增约束。

  • 一张表只能有一个字段为自增约束,并且该字段只能是主键。
  • 默认初始值是1,每增加一条记录,字段值自动增1。
  • 字段数据类型必须是整数类型
  • 关键字:auto_increment

格式:

字段名 数据类型 auto_increment
  • 1

(3)设置非空约束

  • 用户在向数据表中插入数据时,如果设置非空约束的字段没有指定值,系统就会报错。
  • 作用是规定字段的值不能为空
  • 关键字:not null

格式:

字段名 数据类型 not null
  • 1

(4)设置唯一性约束

当数据表中某个字段的值不允许重复时,可以使用唯一性约束。

  • 关键字:unique

格式一:

字段名 数据类型 unique
  • 1

格式二:

unique key(字段名)
  • 1

(5)设置无符号约束

  • 作用:规定该字段所存储的数据不为负数
  • 关键字:unsigned

格式:

字段名 数据类型 unsigned
  • 1

(6)设置默认约束

  • 没有设置默认约束的字段,系统会自读设置默认值为null
  • 关键字:default

格式:

字段名 数据类型 default
  • 1

(7)设置外键约束

  • 关键字:constraint foreign key references

格式:

constraint 约束名 foreign key(字段名) references 主表名(主表中的字段名)
  • 1

(8)设置表的存储引擎
格式:

engine=存储引擎名
  • 1

3、实训案例

(1)创建goods表

字段数据类型约束条件
idint(11)主键、自增
typevarchar(30)非空
namevaechar(30)唯一
pricedecimal(7,2)无符号
numint(11)默认值为0
add_timedatetime

SQL语句:
格式一:

create table goods(
			id int(11) primary key auto_increment,
			type varchar(30) not null,
			name varchar(30) unique,
			price decimal(7,2) unsigned,
			num int(11) default 0,
			add_time datetime
			);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

格式二:

create table goods(
			id int(11) auto_increment,
			type varchar(30) not null,
			name varchar(30),
			price decimal(7,2) unsigned,
			num int(11) default 0,
			add_time datetime
			primary key(id),
			unique key(name)
			);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

(2)创建orders表

字段数据类型约束
o_idint(11)主键
add_timedatetime
goods_idint(11)外键

SQL语句:

create table orders(
			o_id int(11) primary key,
			add_time datetime,
			goods_id int(11),
			constraint goo_ord foreign key(goods_id) references goods(id)
			);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

(3)创建category表

字段数据类型约束
idint(11)主键
namevarchar(30)
p_idint(11)

SQL语句:

create table category(
			id int(11) primary key,
			name varchar(30),
			p_id int(11)
			);
  • 1
  • 2
  • 3
  • 4
  • 5

(4)创建comment表

字段数据类型约束
idint(11)主键
goods_idint(11)非空、无符号
user_idint(11)非空、无符号
contenttext默认
add_timedatetime
create table comment(
			id int(11) primary key,
			goods_id int(11) unsigned not null,
			user_id int(11) unsigned not null,
			content text,
			add_time datetime
			);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

(5)创建reply表

字段数据类型约束
idint(11)主键、自增
commment_idint(11)非空、无符号
user_idint(11)非空、无符号
r_contenttext
add_timedatetime

SQL语句:

create table reply(
			id int(11) primary key auto_increment,
			comment_id int(11) unsigned not null,
			user_id int(11) unsigned not null,
			r_content text,
			add_time datetime
			);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

二、查看表

1、查看表的结构

describe可简写成desc
格式:

describe 表名;
  • 1

在这里插入图片描述

2、查看建表语句

格式:

show create table 表名;
  • 1

在这里插入图片描述

三、修改表

修改表的结构—alter

1、修改表名

格式:

alter table 旧表名 rename 新表名;
  • 1

实训案例:修改goods为tb_goods

alter table goods rename tb_goods;
  • 1

在这里插入图片描述

2、修改字段数据类型

格式:

alter table 表名 modify 字段名 新数据类型;
  • 1

实训案例:将tb_goods表中的type字段的数据类型修改为char(30)

alter table tb_goods modify type char(30);
  • 1

在这里插入图片描述

3、修改字段名

格式:

alter table 表名 change 旧字段名 新字段名 数据类型;
  • 1

实训案例:将tb_goods表中的name字段的数据类型修改为g_name

alter table tb_goods change name g_name varchar(30);
  • 1

在这里插入图片描述

4、添加字段

(1)在表的最后一列添加字段
格式:

alter table 表名 add 字段名 数据类型;
  • 1

实训案例:在tb_goods表最后一列添加picture字段,数据类型为varchar(255)

alter table tb_goods add picture varchar(255);
  • 1

在这里插入图片描述
(2)在表的第一列添加字段

alter table 表名 add 字段名 数据类型 first;
  • 1

实训案例:在tb_goods表中第一列添加state字段,数据类型为tinyint(4)

alter table tb_goods add state tinyint(4);
  • 1

在这里插入图片描述

(3)在表的指定列之后添加字段

alter table 表名 add 字段名 数据类型 after 字段名2;
  • 1

实训案例:在tb_goods表中num字段之后添加intro字段,数据类型为text

alter table tb_goods add intro text after num;
  • 1

在这里插入图片描述

5、删除字段

格式:

alter table 表名 drop 字段名;
  • 1

实训案例:删除tb_goods表中的picture字段

alter table tb_goods drop picture;
  • 1

在这里插入图片描述

6、修改字段顺序

格式:

alter table 表名 modify 字段1名 数据类型 first|after 字段2;
  • 1

实训案例:将tb_goods表的state字段位置修改为id字段之后

alter table tb_goods modify state tinyint(4) after id;
  • 1

在这里插入图片描述

7、修改存储引擎

格式:

alter table 表名 engine=新存储引擎名;
  • 1

实训案例:修改category表的存储引擎为InnoDB

alter table category engine=InnoDB;
  • 1

在这里插入图片描述

8、修改约束条件

(1)主键约束
格式:

添加:alter table 表名 add primary key(字段名);
删除:alter table 表名 drop primary key;
  • 1
  • 2

实训案例:删除tb_goods表的主键约束,再添加。
在这里插入图片描述

(2)非空约束
格式:

添加:alter table 表名 modify 字段名 数据类型 not null;
删除:alter table 表名 modify 字段名 数据类型 null;
  • 1
  • 2

实训案例:删除tb_goods表的非空约束,然后再添加。
在这里插入图片描述

(3)唯一约束
格式:

添加:alter table 表名 add unique key(字段名);
删除:alter table 表名 drop key 字段名;
  • 1
  • 2

实训案例:删除tb_goods表的唯一约束,再添加。
在这里插入图片描述
在这里插入图片描述

(4)自增约束

添加:alter table 表名 modify 字段名 数据类型 auto_increment;
删除:alter table 表名 modify 字段名 数据类型;
  • 1
  • 2

实训案例:删除tb_goods表的自增约束,再添加。
在这里插入图片描述在这里插入图片描述
(5)默认值约束

添加:alter table 表名 modfiy 字段名 数据类型 default '值';
删除:alter table 表名 modify 字段名 数据类型 default null;
  • 1
  • 2

实训案例:删除tb_goods表的默认值约束,再添加。
在这里插入图片描述

(6)无符号约束

添加:alter table 表名 modfiy 字段名 数据类型 unsigned;
删除:alter table 表名 modify 字段名 数据类型
  • 1
  • 2

实训案例:删除tb_goods表的无符号约束,再添加。
在这里插入图片描述
(7)外键约束

添加:alter table 表名 add constaint 约束名 foreign key(外键列)references 主键表(主键列)
删除:
第一步:删除外键
alter table 表名 drop foreign key 约束名
第二步:删除索引
alter table 表名 drop index 索引名
约束名和索引名一样
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

实训案例:删除tb_goods表的外键约束,再添加
在这里插入图片描述
在这里插入图片描述

四、删除表

1、删除没有被关联的表

drop table 表名;
drop table1,2,......;
  • 1
  • 2

在这里插入图片描述

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

(1)从表不保留
删除从表—>删除主表
在这里插入图片描述

(2)从表保留
删除从表外键—>删除主表

alter table 表名 drop foreign key 外键约束名
  • 1

在这里插入图片描述
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/775663
推荐阅读
相关标签
  

闽ICP备14008679号