一、创建数据表

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

格式一:

sql语句如下:

格式二:

sql语句如下:

create table goods(
id int(11) primary key,
type varchar(30) not null,
name varchar(30) unique,
price decimal(7,2) unsigned,
num int(11) default 0,
add_time datetime,
PRIMARY KEY('id'),
UNIQUE KEY 'name'('name')
);

任务二、根据下表的数据信息创建数据表orders

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

任务三、根据下表的数据信息创建数据表category

sql语句如下:

create table caategory(
      id int(11) primary key,
      name varchar(30),
      p_id int(11)
      );

任务四、根据下表的数据信息创建数据表comment

sql语句如下:

create table comment(
    id int(11) primary key auto_increment,
    goods_id int(11) unsigned null,
    user_id int(11) unsigned not null,
    content text,
    add_time datetime
    );

任务五、根据下表的数据信息创建数据表reply

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,语法格式如下:

describe 表名;

Field:表示字段名称

Type:表示数据类型

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

Key:表示是否创建索引,Pri表示主键索引,uni表示唯一索引

Default:表示默认值

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

提示

一般情况下,describe可以简写为desc

2.查看建表语句

show create table 表名;

 

三、修改表

1修改表名

语法格式:

alter table 旧表名 rename 新表名;

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

sql语句如下:

alter table goods rename tb_goods;

 

2.修改字段数据类型

语法格式:

alter table tb_goods modify type char(30);

 

注意 

 修改数据类型会到质表中不符合数据类型的数据被清空,所有表中已有数据时,需要谨慎操作。

3.修改字段名

语法格式:

alter table tb_goods chagne name g_name varchar(30);

 

提示 

使用上述语句也可以同时修改数据类型,例如,将g_name字段名称改为name,数据类型为char(30),sql语句如下:

alter table tb_goods change g_name name varchar(30);

4.添加字段

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

语法格式:

alter table tb_goods add picture varchar(30);

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

table tb_goods add picture varchar(255);

 

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

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

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

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

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

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

alter table tb_goods add intro text after num;

 

5.删除字段

语法格式:

alter table 表名 drop 字段名;

【案例】将tb_goods 表中的picture字段删除sql语句如下:

alter table tb_goods drop picture;

 

6.修改字段顺序

语法格式

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

 first:表示调整该字段到表的第一列表的第一列

after:表示调整该字段到表的某一列后面

【案例】将tb_goods 表的state字段位置修改为id字段之后 

sql语句如下:

alter table tb_goods modify state tinyint(4) after;

7.修改存储引擎

语法格式

alter table category engine=InnoDB;

【案例】修改category表的存储引擎为InnoDB

alter table category engine=InnoDB;

 8.修改约束条件

当表创建完成后,需要添加或删除约束条件,可以按照如下操作进行:

(1)主键约束的添加和删除

语法格式:

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

(2) 唯一性约束的添加和删除

语法格式

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

(3) 自增约束的添加和删除

语法格式:

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

 (4) 默认值约束的添加和删除

语法格式

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

 (5)非空约束的添加和删除

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

(6)无符号约束的添加和删除

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

(7)外键约束的添加和删除

添加:alter table 表名 add constraint 字段名;
删除:alter table 表名 drop foreign key 字段名;

 

 

 

 

 

  • 11
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值