SQL-DDL的基本语句 :CREATE DATABASE, CREATE TABLE
SQL-DML的基本语句:INSERT, DELETE, UPDATE, SELECT
SQL-SELECT 语句的训练:正确表达各种查询需求
DDL—— CREATE, ALTER, DROP
DML——INSERTE, DELETE, UPDATE, SELECT
DCL——GRANT(授权), REVOKE
交互SQL, 嵌入式SQL,动态SQL
理解查询需求,用SQL精确表达
create datebase 数据库名;
create table 表名(列名 数据类型[primary key | unique][not null], …);
每个表只能创建一个主键约束
(候选键)可以有多个唯一性约束
not null 是否可为空值
insert into 表名[(列名,…)] values (值,…);
列名省略,须与定义或存储的列名顺序一致
select 列名 from 表名 where 检索条件
求既学过001号课程,又学过002号课程的学生的学号
select s# from sc where c# = '001' AND c# = '002'
错误的查询,查询对应元组,一个记录属于了001,就不可能再属于002,所以查询结果为空
在table中要求无重复元组,是通过primary key 或 unique来保证的;而在检索结果中要求无重复元组,是通过distinct保留字的使用来实现的
结果排序问题
order by 列名 [asc | desc ]
默认升序排列
模糊查询问题
列名 [not] like "字符串"
% ——匹配零个或多个字符
_ —— 匹配任意单个字符
\ ——转义字符
多表联合查询
注意连接条件
同一个变表连接操作
重名之处理
select 列名 as 列别名,… from 表名 as 表别名 where 检索条件
上述as可省略
单一元组新增
批元组新增
insert into 表名 (列名) 子查询;
delete from 表名 where;
update 表名 set 列名 = 表达式 | (子查询) [where 条件表达式]
where 条件表达式省略,则更新所有元组
修正基本表的定义
alter table tablename
[add {colname datatype,…}] 增加新列
[drop{完整性约束名}] 删除完整性约束
[modify{colname datatype,…}] 修改列定义
delete from 与 drop table的区别
撤销数据库
drop database
指定当前数据库
use 数据库名
关闭数据库
close 数据库名