数据表的基本操作

一、创建数据表

        1、基本格式
create table <表名>(
         字段名1 数据类型 约束条件,
         字段名2 数据类型 约束条件,
         字段名3 数据类型 约束条件,
         ......
         约束条件
         );

                *创建表的关键字  create

                *各字段之间用逗号隔开

                *句末加分号;

        2、设置约束条件
        (1)设置主键约束        

              主键(主码):用于唯一标识该条记录

                * 关键字为:primary key

                *一张表只能有一个主键

                *主键值不能为空

              格式一:定义字段时设置主键
字段名 数据类型 primary key
              格式二:定义所有字段后设置主键
primary key(字段名)
       (2)设置自增约束

              某字段可按照顺序自动生成编号

               *关键字为:auto_increment

               *一张表只能设置一个字段为自增约束,并且该字段必须为主键

               *默认的初始值为1,每增加一条记录,字段值自动增加1

               *字段类型必须为整数类型

   语法格式
字段名 数据类型 auto_increment
      (3)设置非空约束

              *关键字为not null

              *作用是:规定字段值不能为空

              *用户在向数据表中插入数据时,如果设置非空约束的字段没有指定值,系统就会报错

   语法格式
字段名 数据类型 not null
     (4)设置唯一性约束

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

             *关键字为:unique
             *设置了唯一性约束的字段,插入的数据与数据表中已存在的数据相同时,系统会报错

  格式一:定义字段时设置唯一性约束

字段名 数据类型 unique
格式二:定义所有字段后设置唯一性约束
unique key(字段名)
     (5)设置无符号约束

            *关键字:unsigned

            *作用:规定该字段所存储的数据不为负数

格式
字段名 数据类型 unsigned
     (6)设置默认约束

            *关键字:default

            *对于设置了默认约束的字段插入记录时,如果没有为该字段赋值,系统会自动将默认值插入到此字段中。

            *没有设置默认约束的字段,系统会自读设置默认值为null

格式
字段名 数据类型 default 值
      (7)设置外键约束

           设置外键约束的作用是可以将两张表关联在一起。

格式
constraint 约束名 foreign key(字段名) references 主表名(主表中的字段名)
        关键字:constraint foreign key references
     (8)设置表的存储引擎
格式
engine=存储引擎名

3.例

        任务一:根据下表的数据信息创建数据表goods
 步骤
        方法一:
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 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 default 0,                                                            
          add_time datetime,                                                 
          PRIMARY KEY (`id`),                                                                                 
          UNIQUE KEY `name` (`name`)                                                        
          );
        任务二、根据下表的数据信息创建数据表orders

步骤
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)
            );
        任务三、根据下表的数据信息创建数据表category

步骤
create table category(
             id int(11) primary key,
             name varchar(30),
             p_id int(11)
             );
        任务四、根据下表的数据信息创建数据表comment

 步骤
create table comment(
           id int(11) primary key auto_increment,
           goods_id int(11) unsigned not null,
           user_id int(11) unsigned not null,
           content text,
           add_time datetime
           );
任务五、根据下表的数据信息创建数据表reply

  步骤
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.查看表基本结构

                查看表基本结构的关键字为desc(describe),语法格式如下:

describe 表名;

                *Field:表示字段名称。

                *Type:表示数据类型。

                *Null:表示是否可以存储空值。

                *Key:表示是否创建索引,PRI表示主键索引,UNI表示唯一索引。

                *Default:表示默认值。

                *Extra:表示与字段有关的附加信息。

        2.查看建表语句

show create table 表名;

三、修改表

        1.修改表名

             语法格式:
alter table 旧表名 rename 新表名;

        【案例】修改goods表的名称为tb_goods

 alter table goods rename tb_goods;

        2.修改字段数据类型

               语法格式:
alter table 操作的表名 modify 被修改的字段名 修改后的数据类型;

         【案例】修改name数据类型为vhar(30),然后改回varchar(30)

        3.修改字段名

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

         【案例】将num字段改为TY,然后改回type

        4.添加字段

                (1)添加到表的最后一列
alter table 操作的表名 add 添加的字段名 数据类型;

【案例】 在goods表最后一列添加phone,数据类型为char(20)

                (2)添加到表的第一列

alter table 操作的表名 add 添加的字段 数据类型 first;

【案例】在表的第一列添加salary,数据类型为decimal(10,2)

 

                (3)添加到指定位置 
alter table 操作的表名 add 添加的字段名 数据类型 alter 列名(被添加的位置);

 【案例】在type后面添加一个birth字段,数据类型为datetime

5.删除字段 

alter table 操作的表名 drop 要删除的字段;

【案例】删除goods表中的salary字段

6.修改字段顺序

alter table 操作的表名 modify 字段 数据类型 after 最后一个字段;

 【案例】把goods表中的add_time放到表的结尾

7.修改存储引擎

方法一:

8.修改约束条件

         (1)修改主键约束

                  修改表结构,添加主键列

alter table 表名 add constraint 约束名 primary key (列名)
        (2)修改唯一约束:
alter table 表名 add constraint 约束名 unique (列名)
         (3)修改外键约束:
alter table 表名 add constraint 约束名 foreign key (列名) references 关联表名(列名(主键))
        (4)修改CHECK约束:
alter table 表名 add constraint 约束名 check (表达式)
        (5)删除约束
alter table 表名 drop constraint 约束名

四、删除表

drop table 表名;

  • 19
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值