SQL必知必会-读书笔记(19-21章)
十九、插入数据
1.插入完整的行
应该该出列名和值,此时可以省略那些有默认值或允许为NULL值得列。
如果发生错误,则插入失败。
INSERT
2.插入多行
INSERT
3.插入检索数据
INSERT SELECT
在插入时,需要避免主键重复,否则将会插入失败。
例子:将一个名为custnew表中的数据导入到custmers中。
INSERT
二十、更新和删除数据
1.更新数据
语法:
UPDATE 表名 SET 列=值 WHERE 条件;
注意千万不要忘记WHERE条件,否则将更新表中的所有内容。
UPDATE
2.删除数据
DELETE会删除表中的行,但不会删除表本身。
如果要删除表中所有的行,那么可以使用TRUNCATE TABLE
DELETE
3.注意事项
(1)MYSQL没有撤销按钮,应该非常小心的使用UPDATE和DELETE;
(2)除非应要更新或删除所有行,否则一定要带WHERE子句;
(3)使用前,先用SELECT语句保证,WHERE子句过滤的正确性;
(4)请保证每个表都有主键
二十一、创建和操纵表
1.创建表
创建表的方式:
#使用具有交互创建和管理表的工具
#可以直接用MySQL语句操纵
必要信息
(1)表的名字,如下customers
(2)列名,数据类型,是否支持null
(3)主键PRIMARY KEY
CREATE
主键
(1)主键必须唯一,即如果唯一主键,那么它的值必须唯一。如果多个列,则这些列的组合必须唯一。
(2)主键既可以在创建时定义,也可以在创建之后定义。
(3)多个主键 PRIMARY KEY (order_num,order_item)
AUTO_INCREMENT
(1)自动生成的,在多用户进行操作时也不会出问题
(2)每个表只容许有一个AUTO_INCREMENT列,而且必须是主键
(3)确定AUTO_INCREMENT的值:使用last_insert_id()函数
指定默认值:DEFAULT 1(只支持常量,不支持函数)
指定引擎
(1)InnoDB:支持事务处理,不支持文本搜索
(2)MEMORY:功能等同于MyISAM,但用于数据存储在内存,速度极快,适合临时表
(3)MyISAM:支持全文搜索,不支持事务处理
2.更新表
ALTER
3.删除表
永久删除整个表
DROP
4.重命名表
RENAME