SQL
DDL:column(列)表头:structure(结构)
name,datatype,length,constraint(约束)
create table创建表
alter table修改表结构
drop table删除表
DML:化行:填数据:row(行)
insert 增加一行
update:更新某些行的某些列的值,改格里的内容
delete:删除一行
TCL(transaction control lang):
transaction:事务,交易
commit:提交 相当于ctrl+s 保存
rollback:回滚 相当于ctrl+z
DQL
select:查询,挑拣
DCL
多个人才存在数据控制的问题
计算机系统:os(操作系统),数据库系统,应用系统,权限
grant:授权
revoke:撤消授权
create database(dba建库)
DB和DBMS
数据库(DATABASE)
-关系数据库使用关系或二维表存储信息.
关系型数据库管理系统(RDBMS)
-关系型数据库管理系统(Relationship Database Management System)是一套软件,用于在数据库中存储数据/维护数据/查询数据等等.
-IRACKE 10G
DB2
SQL SERVER
语法:create table test1(c1 number,c2 number(6));
insert into TEST values(11,11);
intsert into TEST(c1) values (11);
selete*from test
alter table test modify(c2 char(10));
insert into test values (to_date(‘2017-04-01’,‘YYYY-MM-DD’));
INSERT INTO test values (sysdate,null)
Select name,(250-BASE_DURATION)*UNIT_COST+BASE_COST as “Cost 250” from COST;
nvl(p1,p2):
if p1==null return p2 else return p1
select REAL_NAME||’ '||IDCARD_NO “uzi” from ACCOUNT;
表达单引号本身’’’’ (3个单引号 定界符然后2个单引号表示一个单引号)
distinct关键字
select distinct UNIX_HOST from SERVICE; 使查询的UNIX_HOST中没有重复的数据
select distinct UNIX_HOST,CREATE_DATE from SERVICE;(含一个date列) 同一秒才能去重
select 12BASE_COST “year cost”,12BASE_DURATION "yaer dt"from COST where BASE_COST=5.9;
where:在CSOT表中除了base_csot=5.9之外的行都不要
语法顺序select from where
执行顺序from where select
WHERE子句后不能跟列别名
upper(os_username) 大写转换
lower(os_username) 小写
initcap(os_username) 首字母大写
select name from COST where BASE_COST>=5 and BASE_COST<=10;
上下表达式相等
select name from COST where BASE_COST between 5 and 10;
select name from COST where BASE_COST=5.9 or BASE_COST=8.5 or BASE_COST=10.5;
上下表达式相等
select name from COST where BASE_COST in(5.9,8.5,10.5);
上下表达式相等
select name from COST where BASE_COST =any(5.9,8.5,10.5);
在字符串比较中,可用like和通配符进行查找
通配符的种类
- %表示0或多个
- _表示一个
select UNIX_HOST,OS_USERNAME from SERVICE where OS_USERNAME like ‘h%’;
select UNIX_HOST,OS_USERNAME from SERVICE where OS_USERNAME like ‘h_%’ escape ‘’;
将_转译成_ 而不是代表通配符_.
select name,UNIT_COST from COST where UNIT_COST is null;
- 是isnull
- 而不是=null
SQL比较运算符:
- NOT BETWEEN AND
- NOT IN <==> <>ALL
- NOT LIKE
- IS NOT NULL
select name,UNIT_COST from COST where UNIT_COST is not null;
select name,BASE_COST from COST where BASE_COST NOT IN(5.9,8.5,10.5);
上下表达式相等
select name,BASE_COST from COST where BASE_COST !=5.9 and BASE_COST !=8.5 and BASE_COST !=10.5
in =any
not in !=all