本篇知识点
更新删除数据、创建操纵表、视图、存储过程
更新和删除数据
- 使用UPDATE语句更新(修改)表中的数据:
- 更新表中特定行(使用WHERE语句
- 更新表中所有行
- UPDATE语句以要更新的表名开始,SET命令用来赋值
UPDATE customers
SET cust_email = 'elmer@fund.com'
WHERE cust_id = 10005;
更新多个列
UPDATE customers
SET cust_name = 'The Fudds',
cust_email = 'elmer@fudd.com'
WHERE cust_id = 10005;
使用IGNORE关键字,即使在更新多个行时发生错误,也能继续进行更新
UPDATE IGNORE customers
- 删除某个列的值,可使用UPDATE设置它为NULL(假如表定义允许NULL值)
UPDATE customers
SET cust_email = NULL
WHERE cust_id = 10005;
其中NULL用来去除cust_mail列中的值
- 使用DELETE语句从一个表中删除数据:
- 从表中删除特定行
- 从表中删除所有行
- DELETE删除整行,删除列(值)用UPDATE
DELETE FROM customers WHERE cust_id = 10006;
DELETE不删除表本身;删除所有行用TRUNCATE TABLE[1]更快。
创建和操纵表
- 使用CREATE TABLE创建表时,须给出下列信息:
- 新表的名字,在关键字CREATE TABLE之后给出;
- 表列的名字和定义,用逗号分隔
- 创建练习使用的customers表
CREATE TABLE customers IF NOT EXISTS
(
Cust_id int NOT NULL AUTO_INCREMENT,
Cust_name char(50) NOT NULL,
Cust_address char(50) NULL,
Cust_city char(50) NULL,
Cust_state char(5) NULL,
Cust_zip char(10) NULL,
Cust_country char(50) NULL,
Cust_contact char(50) NULL,
Cust_email char(255) NULL,
PRIMARY KEY (cust_id)
) ENGINE = InnoDB;
在表名后给出IF NOT EXISTS,仅在表名不存在时创建它。
- NULL值表示没有值或缺值,允许NULL值的列允许在插入行时不给出该列的值,否之必须给值
CREATE TABLE orders
(
order_num int NOT NULL AUTO_INCREMENT ,
order_date datetime NOT NULL ,
cust_id int NOT NULL ,
PRIMARU KE