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

2024-07-11 1322阅读

一、创建表

1、创建表的格式

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

2、约束条件

(1) 设置主键约束

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

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

    格式一:

    字段名 数据类型 primary key
    

    格式二:

    primary key(字段名)
    

    (2)设置自增约束

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

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

      格式:

      字段名 数据类型 auto_increment
      

      (3)设置非空约束

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

        格式:

        字段名 数据类型 not null
        

        (4)设置唯一性约束

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

        • 关键字:unique

          格式一:

          字段名 数据类型 unique
          

          格式二:

          unique key(字段名)
          

          (5)设置无符号约束

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

            格式:

            字段名 数据类型 unsigned
            

            (6)设置默认约束

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

              格式:

              字段名 数据类型 default 值
              

              (7)设置外键约束

              • 关键字:constraint foreign key references

                格式:

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

                (8)设置表的存储引擎

                格式:

                engine=存储引擎名
                

                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
                			);
                

                格式二:

                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)
                			);
                

                (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)
                			);
                

                (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)
                			);
                

                (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
                			);
                

                (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、查看表的结构

                describe可简写成desc

                格式:

                describe 表名;
                

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

                2、查看建表语句

                格式:

                show create table 表名;
                

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

                三、修改表

                修改表的结构—alter

                1、修改表名

                格式:

                alter table 旧表名 rename 新表名;
                

                实训案例:修改goods为tb_goods

                alter table goods rename tb_goods;
                

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

                2、修改字段数据类型

                格式:

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

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

                alter table tb_goods modify type char(30);
                

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

                3、修改字段名

                格式:

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

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

                alter table tb_goods change name g_name varchar(30);
                

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

                4、添加字段

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

                格式:

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

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

                alter table tb_goods add picture varchar(255);
                

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

                (2)在表的第一列添加字段

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

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

                alter table tb_goods add state tinyint(4);
                

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

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

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

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

                alter table tb_goods add intro text after num;
                

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

                5、删除字段

                格式:

                alter table 表名 drop 字段名;
                

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

                alter table tb_goods drop picture;
                

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

                6、修改字段顺序

                格式:

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

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

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

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

                7、修改存储引擎

                格式:

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

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

                alter table category engine=InnoDB;
                

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

                8、修改约束条件

                (1)主键约束

                格式:

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

                实训案例:删除tb_goods表的主键约束,再添加。

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

                (2)非空约束

                格式:

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

                实训案例:删除tb_goods表的非空约束,然后再添加。

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

                (3)唯一约束

                格式:

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

                实训案例:删除tb_goods表的唯一约束,再添加。

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

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

                (4)自增约束

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

                实训案例:删除tb_goods表的自增约束,再添加。

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

                (5)默认值约束

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

                实训案例:删除tb_goods表的默认值约束,再添加。

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

                (6)无符号约束

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

                实训案例:删除tb_goods表的无符号约束,再添加。

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

                (7)外键约束

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

                实训案例:删除tb_goods表的外键约束,再添加

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

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

                四、删除表

                1、删除没有被关联的表

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

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

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

                (1)从表不保留

                删除从表—>删除主表

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

                (2)从表保留

                删除从表外键—>删除主表

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

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

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

VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]