MYSQL学习笔记(十七)创建和操纵表
来源:互联网 发布:拜亚动力耳机知乎 编辑:程序博客网 时间:2024/06/07 01:17
- 创建表的两种方法
使用交互式创建和管理表的工具
直接用MYSQL语句操纵 - 表创建基础
CREATE TABLE Products
(
prod_id int NOT NULL,
vend_id char10) NOT NULL,
prod_name char(254) NOT NULL,
prod_price decimal(8,2) NOT NULL,
prod_desc varchar(1000) NULL,
PRIMARY KEY(prod_id)
) ENGINE=InooDB;;
表名紧跟CREATE TABLE关键字
在圆括号内每列定义列名,后跟列的数据类型
PRIMARY KEY()指定主键 - 使用NULL值
允许NULL值的列允许在插入行时不给出该列的值,NOT NULL必须给值 - 主键再介绍
主键值必须唯一。表中每个行必须具有唯一的主键值
主键只能用于NOT NULL的列 - 使用AUTO_INCREMENT
prod_id int NOT NULL AUTO_INCREMENT,
AUTO_INCREMENT使该列每当增加一行自动增量,是每个行分配唯一prod_id,从而用作主键值
每个表中只允许一个AUTO_INCREMENT列,而且必须被索引 - 获得最后一个AUTO_INCREMENT值
SELECT last_insert_id() - 指定默认值
CREATE TABLE OrderItems
(
order_num int NOT NULL,
order_item int NOT NULL,
prod_id char(10) NOT NULL,
quantity int NOT NULL DEFAULT 1,
item_price decimal(8,2) NOT NULL
PRIMARY KEY(order_num,order_item)
)ENGINE=InooDB;
quantity列包含数量,DEFAULT1表示在未给出数量的情况下使用数量1 - 引擎类型
ENGINE=InooDB语句结束表示所选用的数据库引擎,省略语句将使用默认引MyISAM
各引擎类型:
InnoDB是一个可靠的事务处理引擎,不支持全文本搜索
MEMORY的功能等同于MyISAM,但由于数据存储在内存,速度很快
MyISAM是一个性能极高的引擎,支持全文本搜索,但不支持事务处理 - 更新表
ALTER TABLE vendors
ADD vend_phone char(20);
给vendors表增加一个名为vend_phone的列
ALTER TABLE vendors
DROP COLUMN vend_phone;
删除vend_phone的列 - 定义外键
ALTER TABLE orderitems
ADD CONSTRAINT fk_orderitems_orders
FOREIGN KEY (order_num) REFERENCES orders (order_num); - 复杂表结构的更改步骤
(1)用新的列布局创建一个新表;
(2)使用INSERT SELECT语句从旧表复制数据到新表。有必要的话,可以使用转换函数和计算字段;
(3)检验包含所需数据的新表;
(4)重命名旧表(如果确定,可以删除它);
(5)用旧表原来的名字重命名新表;
(6)根据需要,重新创建触发器、存储过程、索引和外键 - 删除表
DROP TABLE CustCopy;
删除CustCopy表。删除表没有确认,也不能撤销 - 重命名表
RENAME TABLE customer2 TO customers,
customer3 TO customers1;
阅读全文
0 0
- MYSQL学习笔记(十七)创建和操纵表
- Mysql必知必会(笔记)【插入数据,更新和删除数据,创建和操纵表,视图】
- MySQL必知必会笔记(五)插入数据 创建和操纵表
- MySQL必知必会笔记(六)插入数据 创建和操纵表
- MySQL必知必会笔记(五)插入数据 创建和操纵表
- MySQL必知必会笔记(六)插入数据 创建和操纵表
- 【MySQL】插入数据 创建和操纵表
- MySQL创建和操纵表.md
- MySQL学习之表的创建与操纵
- SQL必知必会 笔记 第十七章 创建和操纵表
- 数据库笔记10:插入数据 创建和操纵表
- SQL-创建和操纵表
- 21 创建和操纵表
- 学习笔记(十七)
- SQL读书笔记(十)创建和操纵表
- mysql 学习笔记二 (mysql 创建数据库和表)
- MySQL学习笔记十七:复制特性
- [My SQL] 创建表和操纵表
- Numpy 用于布尔型数组的方法 唯一化以及其他集合逻辑
- eclipse通过tomcat热部署web项目
- linux生成连续时间戳
- UninstallWMISchemaExecute (0x8004401e) when updating VisualSVN(不是有效的MOF文件)
- 怎么应用vertical-align,才能生效?
- MYSQL学习笔记(十七)创建和操纵表
- MFC CImage 类加载图片显示到控件
- Android 基于RecyclerView读取、删改图片
- Matlab简单绘图笔记
- C语言32个关键字_if else do while sizeof volatile
- java基础习题50道(八)
- String,StringBuffer,StringBuilder的区别
- ZooKeeper典型应用场景(转)
- 作用域&作用域链