这里刚学的MySQL,就以MySQL为例。
SQL分为DDL(数据定义语句),DML(数据操作语句),DCL(数据控制语句)。
1.DDL
mysql -u root -p 链接数据库服务器。-u 用户名,-p需要输入密码。";" "\g"结束语句。
创建数据库 CREATE DATABASE dbname 例如:create database test1;
应用数据库 USE dbname;
显示 show tables;
删除 drop database dbname;
创建表格 create table tabkename(
column_name_1 column_type_1 constrains,
column_name_2 column_type_2 constrains,
...
column_name_n column_type_n constrains);
删除表格 DROP TABLE tablename;
修改表 ALTER TABLE tablename MODIFY [COLUMN] column_definition [FIRST|AFTER col_name];
增加表字段 ALTER TABLE tablename ADD[column] column_definition [FIRST|AFTER col_name];
删除表 ALTER TABLE tablename DROP[column] col_name;
字段改名 ALTER TABLE tablename CHANGE [COLUMN] old_col_name column_definition [FIRST|AFTER col_name];
修改顺序 (ADD/CHANGE/MODIFY)有相应改变顺序的语句 first|after column_name;
更改表名 ALTER TABLE tablename RENAME[TO] new_tablename;
2.DML
插入(insert) ,更新(update),删除(delete),查询(select);
INSERT INTO tablename(field1,field2,field3,...,fieldn) VALUES(VALUE1,VALUE2,VALUE3,....);
更新记录
UPDATE tablename SET field1=value1,field2=value2,...,fieldn=valuen[WHERE CONDITION];
删除记录
DELETE FROM tablename[WHERE CONDITION];
delete from emp where ename='dony';
DELETE t1,t2,t3,...,tn FROM t1,t2,t3,...,tn [WHERE CONDITION]
查询记录
SELECT * FROM tablename[WHERE CONDITION];
1) 查询不同记录 distinct;
select distinct deptno from emp;
2)条件查询 where;
3)排序和限制
SELECT * FROM tablename [WHERE CONDITION] [ORDER BY field1[DESC\ASC],field2 [DESC\ASC],....,fieldn[DESC\ASC]];
聚合部分
SELECT [field1,field2,field3,...,fieldn] fun_name
FROM tablename
[WHERE where_contition]
[GROUP BY field1,field2,...,fieldn [WITH ROLLUP]] [HAVING where_contition]
fun_name 表示要聚合操作,也就是聚合函数,常用的有sum,count,max,min。
GROUP BY 表示要进行分类聚合的字段,比如要按照部门分类统计员工数量,部门要写在group by后面。
WITH ROLLUP是可选的,表示是否对分类进行再汇总。
HAVING 表示对分类后的结构进行条件过滤。
having 和where的区别是,having是对聚合后的额结果进行条件过滤,而where是聚合前就对记录过滤。如果条件允许应该先用where,在用having。63页。