MySQL学习笔记:创建和操作表

本文为本人学习书籍《MySQL必知必会》笔记系列,欢迎持续关注,有问题随时留言评论,一起探讨学习~

21创建和操作表

21.1创建表CREATE TABLE

使用交互式工具创建,例如Navicat Premium
使用MySQL语句创建

21.1.1SQL语句创建表

CREATE TABLE product.school
(
id      int       NOT NULL  AUTO_INCREMENT,#自动增量
number  char(50)  NOT NULL,
name    char(50)  NOT NULL,
sex     char(3)   NOT NULL,  
age     int       NULL,
class   char(50)  NULL,
school  char(50)  NOT NULL  DEFAULT 1,#默认值为1
PRIMARY KEY(id) #设置主键
)EMGINE=InnoDB;#引擎类型

一般情况下,使用默认值而不是NULL值(NOT NULL),便于后续数据处理
每个表只允许一个AUTO_INCREMENT列,且它必须被索引
使用自动增量AUTO_INCREMENT生成主键的缺点是不知道id值有哪些。
如何在使用AUTO_INCREMENT列时获取生成的id值呢?
可使用last_insert_id()获取。如下:

SELECT LAST_INSERT_ID()

该语句返回最后一个AUTO_INCREMENT值,然后可以将它用于后续SQL语句。

21.2更新表ALTER TABLE

21.2.1给表custnew增加列cust_tempy,必须明确cust_tempy的数据类型

ALTER TABLE custnew
ADD cust_tempy CHAR(20);

21.2.2删除刚添加的列cust_tempy

ALTER TABLE custnew
DROP COLUMN cust_tempy;

21.2.3定义外键

ALTER TABLE的一种常见用途是定义外键,语句结构如下:

ALTER TABLE1名称
ADD CONSTRAINT fk_表1名称_表2名称
FOREIGN KEY(1的主键列名) REFERENCES2(2的主键列名);

21.3删除表

DROP TABLE1名称;

这条语句删除表1。删除没有确认也不能撤销,永久删除。不能撤销,永久删除!不能撤销,永久删除!

21.4重命名表

RENAME TABLE1名称 TO 修改后的表1名称,2名称 TO 修改后的表2名称,3名称 TO 修改后的表3名称;
发布了51 篇原创文章 · 获赞 34 · 访问量 878

猜你喜欢

转载自blog.csdn.net/weixin_43412569/article/details/104860982