MySQL笔记创建表结构_MySQL表结构笔记9

本篇大纲

MySQL数据表

创建表

创建主键

AUTO_INCREATE

指定默认值

更新表结构

删除表,重命名表

01:表

MySQL 数据库的表是一个二维表,由一个或多个数据列构成

每个数据列都有它的特定类型,该类型决定了MySQL如何看待该列数据

02:创建表(命令)

格式:使用create table 创建表,必须给出下列信息

新表的名字

表中列的名字和定义,用逗号分隔

创建表(实例)

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更改表结构,必须给出下面的信息

在ALTER TABLE之后给出更改的表名

所做更改的列表

09:添加列(实例1)

实例:给表添加一列

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

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

10:添加列(实例2)

a6f10a63b10169f726b7f0507591b100.png

11:修改列

格式:Alter table 表名 modify 列名 新类型 新参数;

alter table 表名 change 旧列名 新列名 新类型 新参数;

12:修改列(实例1)

5b99c37f3d8ccdd73081dce27e32d75d.png

13:修改列(实例2)

9d377b41a39db9985965a00417a57b20.png

14:删除列(实例)

格式:alter table 表名 drop 列名;

实例:删除一例

ALTER TABLE vendors Drop vend_phone;

15:更新表(实例)

实例3:给表指定外键

afd71b97bb3d5604358453cef699765d.png

16:删除表

删除表是删除整个表而不是其内容,使用命令

DROP TABLE 表名;

17:重命名表

使用RENAME TABLE 语句可以重命名一个表;

RENAME TABLE 旧的表名 TO 新的表名;

4cbfe13c687edf970785d01d40029c80.png

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值