负责数据结构定义与数据库对象定义
CREATE DATABASE test;
CREATE TABLE user (
id int(10) unsigned NOT NULL COMMENT 'Id',
username varchar(64) NOT NULL DEFAULT 'default' COMMENT '用户名',
password varchar(64) NOT NULL DEFAULT 'default' COMMENT '密码',
email varchar(64) NOT NULL DEFAULT 'default' COMMENT '邮箱'
) COMMENT='用户表';
DROP DATABASE test;
DROP TABLE user;
ALTER TABLE user
ADD age int(3);
ALTER TABLE user
DROP COLUMN age;
ALTER TABLE `user`
MODIFY COLUMN age tinyint;
ALTER TABLE user
ADD PRIMARY KEY (id);
ALTER TABLE user
DROP PRIMARY KEY;
对数据库其中的对象和数据运行访问
INSERT INTO user
VALUES (10, 'admin', 'root', '[email protected]');
INSERT INTO user(username, password, email)
VALUES ('admin', 'root', '[email protected]');
更新表中的记录
UPDATE user
SET username='Sally', password='123'
WHERE username = 'admin';
删除表中的记录
DELETE FROM user
WHERE username = 'Sally';
清空表中的数据
TRUNCATE TABLE user;
SELECT username, email FROM user;
SELECT * FROM user;
SELECT DISTINCT * FROM user;
-- 返回前 5 行
SELECT * FROM user LIMIT 5;
SELECT * FROM user LIMIT 0, 5;
-- 返回第 3 ~ 5 行
SELECT * FROM user LIMIT 2, 3;
嵌套在较大查询中的 SQL 查询
-- 多层嵌套
SELECT cust_name, cust_contact
FROM customers
WHERE cust_id IN (SELECT cust_id
FROM orders
WHERE order_num IN (SELECT order_num
FROM orderitems
WHERE prod_id = 'RGAN01'));
过滤记录,即缩小访问数据的范围
在指定的几个特定值中任选一个值
SELECT * FROM products
WHERE vend_id IN ('DLL01', 'BRS01');
选取介于某个范围内的值
SELECT * FROM products
WHERE prod_price BETWEEN 3 AND 5;
字符串模糊匹配
SELECT prod_id, prod_name, prod_price FROM products
WHERE prod_name LIKE '%bean bag%';
SELECT prod_id, prod_name, prod_priceFROM products
WHERE prod_name LIKE '__ inch teddy bear';
-- 指定多个列的排序方向
SELECT * FROM products
ORDER BY prod_price DESC, prod_name ASC;
管理数据库中的事务
-- 开始事务
START TRANSACTION;
-- 插入操作 A
INSERT INTO `user`
VALUES (1, 'root1', 'root1', '[email protected]');
-- 创建保留点 updateA
SAVEPOINT updateA;
-- 插入操作 B
INSERT INTO `user`
VALUES (2, 'root2', 'root2', '[email protected]');
-- 回滚到保留点 updateA
ROLLBACK TO updateA;
-- 提交事务,只有操作 A 生效
COMMIT;
控制特定用户账户对数据表、查看表、预存程序、用户自定义函数等数据库对象的控制权