ToB企服应用市场:ToB评测及商务社交产业平台

标题: 数据库的基本利用(创建表、查看表、修改表、删除表) [打印本页]

作者: 卖不甜枣    时间: 2024-7-13 23:55
标题: 数据库的基本利用(创建表、查看表、修改表、删除表)
一、创建表

1、创建表的格式

  1. create table 表名(
  2. 字段名1 数据类型 约束条件,
  3. 字段名2 数据类型 约束条件,
  4. 字段名3 数据类型 约束条件,
  5. ......
  6. 约束条件
  7. );
复制代码
2、束缚条件

(1) 设置主键束缚

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

格式一:
  1. 字段名 数据类型 primary key
复制代码
格式二:
  1. primary key(字段名)
复制代码
(2)设置自增束缚

如果用户渴望某个字段能够按照次序主动天生编号,可以为该字段设置自增束缚。

格式:
  1. 字段名 数据类型 auto_increment
复制代码
(3)设置非空束缚


格式:
  1. 字段名 数据类型 not null
复制代码
(4)设置唯一性束缚

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

格式一:
  1. 字段名 数据类型 unique
复制代码
格式二:
  1. unique key(字段名)
复制代码
(5)设置无符号束缚


格式:
  1. 字段名 数据类型 unsigned
复制代码
(6)设置默认束缚


格式:
  1. 字段名 数据类型 default 值
复制代码
(7)设置外键束缚


格式:
  1. constraint 约束名 foreign key(字段名) references 主表名(主表中的字段名)
复制代码
(8)设置表的存储引擎
格式:
  1. engine=存储引擎名
复制代码
3、实训案例

(1)创建goods表

字段数据类型束缚条件idint(11)主键、自增typevarchar(30)非空namevaechar(30)唯一pricedecimal(7,2)无符号numint(11)默认值为0add_timedatetime SQL语句:
格式一:
  1. create table goods(
  2.                         id int(11) primary key auto_increment,
  3.                         type varchar(30) not null,
  4.                         name varchar(30) unique,
  5.                         price decimal(7,2) unsigned,
  6.                         num int(11) default 0,
  7.                         add_time datetime
  8.                         );
复制代码
格式二:
  1. create table goods(
  2.                         id int(11) auto_increment,
  3.                         type varchar(30) not null,
  4.                         name varchar(30),
  5.                         price decimal(7,2) unsigned,
  6.                         num int(11) default 0,
  7.                         add_time datetime
  8.                         primary key(id),
  9.                         unique key(name)
  10.                         );
复制代码
(2)创建orders表

字段数据类型束缚o_idint(11)主键add_timedatetimegoods_idint(11)外键 SQL语句:
  1. create table orders(
  2.                         o_id int(11) primary key,
  3.                         add_time datetime,
  4.                         goods_id int(11),
  5.                         constraint goo_ord foreign key(goods_id) references goods(id)
  6.                         );
复制代码
(3)创建category表

字段数据类型束缚idint(11)主键namevarchar(30)p_idint(11) SQL语句:
  1. create table category(
  2.                         id int(11) primary key,
  3.                         name varchar(30),
  4.                         p_id int(11)
  5.                         );
复制代码
(4)创建comment表

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

字段数据类型束缚idint(11)主键、自增commment_idint(11)非空、无符号user_idint(11)非空、无符号r_contenttextadd_timedatetime SQL语句:
  1. create table reply(
  2.                         id int(11) primary key auto_increment,
  3.                         comment_id int(11) unsigned not null,
  4.                         user_id int(11) unsigned not null,
  5.                         r_content text,
  6.                         add_time datetime
  7.                         );
复制代码
二、查看表

1、查看表的结构

describe可简写成desc
格式:
  1. describe 表名;
复制代码

2、查看建表语句

格式:
  1. show create table 表名;
复制代码

三、修改表

修改表的结构—alter
1、修改表名

格式:
  1. alter table 旧表名 rename 新表名;
复制代码
实训案例:修改goods为tb_goods
  1. alter table goods rename tb_goods;
复制代码

2、修改字段数据类型

格式:
  1. alter table 表名 modify 字段名 新数据类型;
复制代码
实训案例:将tb_goods表中的type字段的数据类型修改为char(30)
  1. alter table tb_goods modify type char(30);
复制代码

3、修改字段名

格式:
  1. alter table 表名 change 旧字段名 新字段名 数据类型;
复制代码
实训案例:将tb_goods表中的name字段的数据类型修改为g_name
  1. alter table tb_goods change name g_name varchar(30);
复制代码

4、添加字段

(1)在表的末了一列添加字段
格式:
  1. alter table 表名 add 字段名 数据类型;
复制代码
实训案例:在tb_goods表末了一列添加picture字段,数据类型为varchar(255)
  1. alter table tb_goods add picture varchar(255);
复制代码

(2)在表的第一列添加字段
  1. alter table 表名 add 字段名 数据类型 first;
复制代码
实训案例:在tb_goods表中第一列添加state字段,数据类型为tinyint(4)
  1. alter table tb_goods add state tinyint(4);
复制代码

(3)在表的指定列之后添加字段
  1. alter table 表名 add 字段名 数据类型 after 字段名2;
复制代码
实训案例:在tb_goods表中num字段之后添加intro字段,数据类型为text
  1. alter table tb_goods add intro text after num;
复制代码

5、删除字段

格式:
  1. alter table 表名 drop 字段名;
复制代码
实训案例:删除tb_goods表中的picture字段
  1. alter table tb_goods drop picture;
复制代码

6、修改字段次序

格式:
  1. alter table 表名 modify 字段1名 数据类型 first|after 字段2名;
复制代码
实训案例:将tb_goods表的state字段位置修改为id字段之后
  1. alter table tb_goods modify state tinyint(4) after id;
复制代码

7、修改存储引擎

格式:
  1. alter table 表名 engine=新存储引擎名;
复制代码
实训案例:修改category表的存储引擎为InnoDB
  1. alter table category engine=InnoDB;
复制代码

8、修改束缚条件

(1)主键束缚
格式:
  1. 添加:alter table 表名 add primary key(字段名)
  2. ;删除:alter table 表名 drop primary key;
复制代码
实训案例:删除tb_goods表的主键束缚,再添加。

(2)非空束缚
格式:
  1. 添加:alter table 表名 modify 字段名 数据类型 not null
  2. ;删除:alter table 表名 modify 字段名 数据类型 null;
复制代码
实训案例:删除tb_goods表的非空束缚,然后再添加。

(3)唯一束缚
格式:
  1. 添加:alter table 表名 add unique key(字段名)
  2. ;删除:alter table 表名 drop key 字段名;
复制代码
实训案例:删除tb_goods表的唯一束缚,再添加。


(4)自增束缚
  1. 添加:alter table 表名 modify 字段名 数据类型 auto_increment
  2. ;删除:alter table 表名 modify 字段名 数据类型;
复制代码
实训案例:删除tb_goods表的自增束缚,再添加。

(5)默认值束缚
  1. 添加:alter table 表名 modfiy 字段名 数据类型 default '值';
  2. 删除:alter table 表名 modify 字段名 数据类型 default null;
复制代码
实训案例:删除tb_goods表的默认值束缚,再添加。

(6)无符号束缚
  1. 添加:alter table 表名 modfiy 字段名 数据类型 unsigned
  2. ;删除:alter table 表名 modify 字段名 数据类型
复制代码
实训案例:删除tb_goods表的无符号束缚,再添加。

(7)外键束缚
  1. 添加:alter table 表名 add constaint 约束名 foreign key(外键列)references 主键表(主键列)
  2. 删除:
  3. 第一步:删除外键
  4. alter table 表名 drop foreign key 约束名
  5. 第二步:删除索引
  6. alter table 表名 drop index 索引名
  7. 约束名和索引名一样
复制代码
实训案例:删除tb_goods表的外键束缚,再添加


四、删除表

1、删除没有被关联的表

  1. drop table 表名;
  2. drop table 表1,表2,......;
复制代码

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

(1)从表不生存
删除从表—>删除主表

(2)从表生存
删除从表外键—>删除主表
  1. alter table 表名 drop foreign key 外键约束名
复制代码



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4