DDL(Data Definition Language)数据库定义语言:
主要是用在定义或改变表的结构,数据类型,表之间的链接和约束等初始化工作
选择要操作的数据库:USE 数据库名;
列出数据库管理系统的数据库列表:SHOW DATABASES;
显示数据库的所有表:SHOW TABLES;
显示数据表的信息:SHOW COLUMNS FROM 数据表;
创建数据库:CREATE DATABASE 数据库名;
删除数据库:DROP DATABASE 数据库名;
创建数据表:CREATE TABLE table_name (column_name column_type);
NOT NULL
UNIQUE
PRIMARY KEY
FOREIGN KEY
CHECK
DEFAULT
删除数据表:DROP TABLE table_name;
DML(data manipulation language)数据操纵语言:
主要用来对数据库的数据进行操作
插入数据:INSERT INTO table_name (field1, field2,...fieldN) VALUES (value1, value2,...valueN);
删除数据:DELETE FROM table_name [WHERE Clause];
更新数据:UPDATE table_name SET field1=new-value1,field2=new-value2 [WHERE Clause];
查询数据:SELECT column_name FROM table_name [WHERE Clause] [LIMIT N] [OFFSET M];
WHERE子句:... WHERE condition1 [AND [OR]] condition2...
LIKE
(效率低) %
匹配任意字符,_
匹配任意一个字符AND
OR
NOT
=
\ <>
\ <
\ >
\ >=
\ >=
BETWEEN
IS NULL
IS NOT NULL
AS:别名
ORDER BY:...ORDER BY field1, [field2...] [ASC [DESC]]
ASC
升序(默认)DESC
降序GROUP BY:...GROUP BY field [HAVING ...]
LIMIT(非标准SQL):...LIMIT num1[,num2]
函数
NOW()
:当前日期和时间CURDATE()
:当前日期CURTIME()
:当前时间avg()
COUNT()
MAX()
MIN()
SUM()
数值类型:http://www.runoob.com/mysql/mysql-data-types.html
连接查询
内链接:select * from A inner join B on A.id = B.id;
左外连接:select * from A left join B on A.id = B.id;
右外连接:select * from A right join B on A.id = B.id;
子查询
select * from A where id in(select id from B);
select * from A where id>=(select id from B);
select * from A where id exists(select id from B);
select * from A where id>=any(select id from B);
select * from A where id>=all(select id from B);
合并查询
select id from A union select id from B;
查询优化
DCL(Data Control Language)数据库控制语言:
设置或更改数据库用户或角色权限的语句
创建用户:CREATE USER 'username'@'host' IDENTIFIED BY 'password';
授权:GRANT privileges ON databasename.tablename TO 'username'@'host';
设置与更改用户密码:SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');
撤销用户权限:REVOKE privilege ON databasename.tablename FROM 'username'@'host';
删除用户:DROP USER 'username'@'host';