MySQL表结构笔记9

本篇大纲
MySQL数据表

创建表

创建主键

AUTO_INCREATE

指定默认值

更新表结构

删除表,重命名表

01:表

  • MySQL 数据库的表是一个二维表,由一个或多个数据列构成
  • 每个数据列都有它的特定类型,该类型决定了MySQL如何看待该列数据

02:创建表(命令)

  • 格式:使用create table 创建表,必须给出下列信息
  1. 新表的名字
  2. 表中列的名字和定义,用逗号分隔

创建表(实例)

CREATE TABLE customers

cust_id int NOT NULL AUTO_TNCREMENT,

cutst_name char(50) NOT NULL,

cust_address char(50) NULL,

cust_city char(50) NULL,

PRIMARY KEY (cust_id)

)ENGINE=InnoDB;

03:创建表(说明)

  • 从例子中可以看到,表名紧跟在CREATETABLE关键字后面,实际的表定义(所有列)括在圆括号之中
  • 各列之间用逗号分隔,这个表由9列组成。每列的定义以列名开始,后跟列的数据类型
  • 表的主键可以在创建表时用PRIMARY KEY 关键字指定

04:给列指定NULL类型

  • NULL 值就是没有值或缺省
  • 定义为NULL值的列允许在插入行时不给出该列的值,指定NOT NULL值的列,在插入或更新行时,该列必须有值
  • 例1:创建表,并指定特定的列为NOT NULL

给列指定NULL类型(实例)

CREATE TABLE order(

order_num int NOT NULL AUTO_TNCRMENT,

order_date datetime NOT NULL,

cust_id int NOT NULL,

PRIMARY KEY (order_num)

)ENFINE=InnoDB;

05:创建主键

  • 主键值必须唯一。即,表中的每行必须具有唯一的主键值
  • 如果主键使用单个列,则他的值必须唯一。如果使用多个列,则这些列的组合值必须唯一
  • 创建主键的语法是:在创建表的时候使用如下命令:
  • PRIMAY KEY(列名)

06:AUTO_INCREMENT

  • AUTO_INCREMENT告诉MySQL,本列每当增加一行时自动增量
  • 每次执行一个insert操作时,MySQL自动对该列增1
  • 每个表只允许一个AUTO_INCREMENT列,而且它必须可以被索引(通常使用它作为主键)
  • 使用语句:select last_insert_id() 可以获取当前表中的AUTO_INCREMENT值

07:指定默认值

  • 如果在插入行时没有给出值,MySQL允许指定此时使用的默认值
  • 默认值用create table语句的列定义中的DEFAULT关键字指定

指定默认值(实例)

CREAT TABLE orderitems(

order_num int NOT NULL,

prod_id char(10) NOT NULL,

quantity int NOT NULL DEFAULT 1,

PRIMARY KEY (order_num,order_item)

)ENGINE=InnoDB

08:更新表

  • 更新表的定义,使用ALTER TABLE语句
  • 使用ALTER TABLE更改表结构,必须给出下面的信息
  1. 在ALTER TABLE之后给出更改的表名
  2. 所做更改的列表

09:添加列(实例1)

  • 实例:给表添加一列

ALTER TABLE vendors ADD vend_phone CHAR(20) not null default '123456';

  • 说明:上述语句给vendors表增加一个名为vend_phone的列,必须明确其数据类型

10:添加列(实例2)

image.png

11:修改列

  • 格式:Alter table 表名 modify 列名 新类型 新参数;
  • alter table 表名 change 旧列名 新列名 新类型 新参数;

12:修改列(实例1)

image.png

13:修改列(实例2)

image.png

14:删除列(实例)

  • 格式:alter table 表名 drop 列名;
  • 实例:删除一例

ALTER TABLE vendors Drop vend_phone;

15:更新表(实例)

  • 实例3:给表指定外键

image.png

16:删除表

  • 删除表是删除整个表而不是其内容,使用命令
  • DROP TABLE 表名;

17:重命名表

  • 使用RENAME TABLE 语句可以重命名一个表;
  • RENAME TABLE 旧的表名 TO 新的表名;

image.png

 

原文地址:https://www.cnblogs.com/kelly11/p/13206325.html