表查询
SQL称结构化查询语言(Structured Query Language)
数据库,标准sql
mysql
DB2
insert
update
delete
select
grant
commit
merge
select .. for update
sql语句的分类
l DML语句(数据操作语言Data Manipulation Language)
DDL语句(数据定义语言 Data Definition Language)
Create / Alter / Drop / Truncate
DCL语句(数据控制语言 Data Control Language)
Grant / Revoke
授权、回收
TCL事务控制语句(Transaction Control Language)
Commit / Rollback / Savepoint
提交、回滚、保存的时候回滚到一个点
21:41:34 windsna>select table_name from user_tables;
TABLE_NAME
------------------------------
REGIONS
LOCATIONS
DEPARTMENTS
COUNTRIES
JOB_HISTORY
EMPLOYEES
JOBS
已选择7行。
已用时间: 00: 00: 00.06
21:41:54 windsna>
departments 部门表
jobs 职位表
employees 员工信息表
EMPLOYEES(员工信息表)
主要有employee_id(员工编号)、last_name(姓)、job_id(职位)、salary(工资)等。
departments(部门信息表)
主要包括department_id(部门编号)、department_name(部门名称)、location_id(位置编号)等。
JOBS(职位信息表)
主要有job_id(职位)、job_title(职位全称)等。
JOB_GRADES(工资级别表)
主要有grade_level(工资级别)、lowest_salary(最低工资)、highest_salary(最高工资)等。
locations(位置信息表)
主要包括location_id(位置编号)、street_adress(地址)、city(城市)等.
select语法
SELECT * |{[DISTINCT] column | expression [alias],...} FROM table
WHERE 过滤条件;
2)从句
SELECT * |{[DISTINCT] column | expression [alias],...}
FROM table
WHERE 过滤条件;
3个从句
select ...
from ....
where ...
3) statement 是两个或多个子句的组合
SELECT ;...
FROM tale
一张表
---查询所有的列
select * from emp;
所有的表都是大写
22:05:40 windsna>select first_name||last_name from employees where rownum<5;
FIRST_NAME||LAST_NAME
---------------------------------------------
EllenAbel
SundarAnde
MozheAtkinson
DavidAustin
已选择4行。
已用时间: 00: 00: 00.03
22:05:52 windsna>select first_name||'.'||last_name from employees where rownum<5;
FIRST_NAME||'.'||LAST_NAME
----------------------------------------------
Ellen.Abel
Sundar.Ande
Mozhe.Atkinson
David.Austin
已选择4行。
已用时间: 00: 00: 00.00
22:06:33 windsna>
字符类型
Oracle数据库的核心是表,表中的列使用到的常见字符类型如下:
char(n)
存储固定长度的字符串。参数n指定了长度,如果存储的字符串长度小于n,用空格填充。默认长度是1,最长不超过2000字节。
char的好处如:手机号码、身份证号码
不会照成行链接,和行迁移
nchar(n)
辅助字符集,特征同char
varchar2(n)
存储可变长度的字符串。length指定了该字符串的最大长度。默认长度是1,最长不超过4000字符。
nvarchar2(n)
辅助字符集,特征同varchar2
oracle支持的字符集
单字节字符集
又分为7bit和8bit, ASC II就是7Bit,而ISO 8859-1就是8Bit
ISO 8859-1 是ASC II的严格超级. 单字节字符集.这里面1byte = 1 character.
多字节字符集
又分为可变长度字符集,固定长度字符集
像汉语,韩语,日语等这些,只能用多字节字符集.
比如:我们用得最多的GBK,是双字节字符集, 1byte = 2 character.
unicode字符集
最常见的,AL32UTF8, AL16UTF16
官网www.unicode.org
GBK一个汉字有2个字符表示
Unicode一个汉字用3个字符表示
查询字符集
select * from nls_database_parameters where parameter like '%CHARACTERSET%';
课外作业
建一张表
char
char(10)
insert into test values(1,'aa');
commit;