SQL 语句可以分为以下三类.:
一、DDL(Data Definition Language,数据定义语言) 用来创建或者删除存储数据用的数据库以及数据库中的表等对象。DDL 包含以下几种指令。
-
CREATE : 创建数据库和表等对象
-
DROP : 删除数据库和表等对象
-
ALTER : 修改数据库和表等对象的结构
二、DML(Data Manipulation Language,数据操纵语言) 用来查询或者变更表中的记录。DML 包含以下几种指令。
-
SELECT :查询表中的数据
-
INSERT :向表中插入新数据
-
UPDATE :更新表中的数据
-
DELETE :删除表中的数据
三、DCL(Data Control Language,数据控制语言) 用来确认或者取消对数据库中的数据进行的变更。除此之外,还可以对 RDBMS 的用户是否有权限操作数据库中的对象(数据库表等)进行设定。DCL 包含以下几种指令。
-
COMMIT : 确认对数据库中的数据进行的变更
-
ROLLBACK : 取消对数据库中的数据进行的变更
-
GRANT : 赋予用户操作权限
-
REVOKE : 取消用户的操作权限
一、MySQL基础语法应用
1.数据库的创建
CREATE DATABASE < 数据库名称 > ;
2.创建表
CREATE TABLE < 表名 >
( < 列名 1> < 数据类型 > < 该列所需约束 > ,
< 列名 2> < 数据类型 > < 该列所需约束 > ,
< 列名 3> < 数据类型 > < 该列所需约束 > ,
< 列名 4> < 数据类型 > < 该列所需约束 > ,
.
.
.
< 该表的约束 1> , < 该表的约束 2> ,……);
3.删除表
DROP TABLE < 表名 > ;
4.表中添加列
ALTER TABLE < 表名 > ADD COLUMN < 列的定义 >;
5.删除表中的列(ALTER TABLE 语句和 DROP TABLE 语句一样,执行之后无法恢复)
ALTER TABLE < 表名 > DROP COLUMN < 列名 >;
6.清空表内容(用来清除数据时,速度最快。)
TRUNCATE TABLE TABLE_NAME;
7.更新数据
UPDATE <表名>
SET <列名> = <表达式> [, <列名2>=<表达式2>...];
WHERE <条件>; -- 可选,非常重要。
ORDER BY 子句; --可选
LIMIT 子句; --可选
说明:
-- 修改所有的注册时间
UPDATE product
SET regist_date = '2009-10-10';
-- 仅修改部分商品的单价,可以同时更新两列或者多列
UPDATE product
SET sale_price = sale_price * 10,
purchase_price = purchase_price / 2
WHERE product_type = '厨房用具';
8.向表中插入数据(INSERT 语句中想给某一列赋予 NULL 值时,可以直接在 VALUES子句的值清单中写入 NULL。想要插入 NULL 的列一定不能设置 NOT NULL 约束。)
INSERT INTO <表名> (列1, 列2, 列3, ……) VALUES (值1, 值2, 值3, ……);
示例(同时插入多行数据):
INSERT INTO productins VALUES ('0002', '打孔器', '办公用品', 500, 320, '2009-09-11'),
('0003', '运动T恤', '衣服', 4000, 2800, NULL),
('0004', '菜刀', '厨房用具', 3000, 2800, '2009-09-20');
9.从其他表复制数据
INSERT INTO productcopy (product_id, product_name, product_type, sale_price, purchase_price, regist_date)
SELECT product_id, produc