- MySQL语句分类:
- Data Definition Language:create、drop、alter
- Data Manipulation Language:insert、delete、update、select
- Data Control Language :grant、revoke
(一)DDL
- 数据库基本的定义操作:
CREATE DATABSE dbname; //创建数据库
USE dbname; //使用数据库
SHOW TABLES; //查看当前数据库的表
DROP DATABASE dbname; //删除数据库
CREATE TABLE tablename (变量名 修饰符,...); //在当前数据库建表
DROP TABLE tablename; //删除特定的表
ALTER TABLE tablename MODIFY/ADD/DROP/CHANGE; //修改、增加、删除、修改表中的列、列属性
ALTER TABLE tablename RENAME new_tablename; //表改名
(二)DML
MySQL中的查询都是select语句,删除都是drop语句
- 数据库基本的CRUD操作:
INSERT INTO tablename (field..) values (value...) // 插入记录
UPDATE tablename SET field=value...; // 更新记录
DELETE FROM tablename [WHERE CONDITION]; //删除记录
SELECT * FROM tablename; //查询表中所有列的所有记录
SELECT DATABASE(); //查询现在正在使用的数据库名称
SHOW COLUMNS FROM tablename; //查询表中所有列属性
- 查询操作细节很多,常见的有:
SELECT * FROM tablename ORDER BY 记录名 DESC|ASC; //按照某条记录降序|升序查询
SELECT * FROM tablename ORDER BY 记录名 limit [offset_start,row_account]; //limit限制最后显示的行数
SELECT field... FROM tablename GROUP BY field; //聚合,还有roolup having等操作
- 表连接分为两种
- 内连接:从两张表中选出互相匹配的记录(select xxx from table1,table2 where xxx.a=yyy.a)
- 外链接:分为左链接和右链接
-
子查询和表连接有时候可以互相转换
- 将查询的记录联合
- UNION ALL:直接将两张表查询结果结合
- UNION: 将结合的结果查重之后再显示
(三)DCL
- 数据库管理权限对象时使用,一般开发很少接触
- grant和revoke语句