只是小人物

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::


1  SQL(language)是什么?
structured query language结构化的查询语言


1.1.查询语句DQL(date query language)
Select 显示要查询的内容

 

1.2 数据操作语句(DML)
DML(data maniputlation language) ----table data row
insert  添加数据
update  修改数据
delete  删除数据


1.3 数据定义语句(DDL)
DDL(date defintion language):用来定义表结构
create table
alter table   openlabel    192.168.3.205
drop table
rename 改表名
Turncate 删除整个表的内容

1.4.事务控制语言(TCL)
TCL(transaction control language)
commit (提交) 永久性的保存所做的修改
rollback (回滚) 取消对行所做的修改 用在commit之前
savepoint  设置一个保存点,回滚的时候回滚到此处

 

1.5数据控制语言(DCL):*
grant  授权其他用户对数据进行操作
revoke 阻止其他用户对数据进行操作


2 SQL基本的语法


2.1 create
创建数据库
create database 数据库名;

创建表
create table 表名(
  字段名  字段类型(长度),
  字段名  字段类型(长度)
);
创建一个新表,数据复制现有的表
create table 表名
as
查询语句;

 

 

字段类型
char    按定义长度存,可以不跟长度,缺省1 ,会补空格
varchar2   按实际长度存,必须跟长度,不会补空格
   数据是定长用char,有长有短用varchar2

number(长度) 长度可以是不写,默认38位
   可以写(5) ,表示5位整数
   (4,2) ,表示4位有效数字,包含2位小数,如12.34
   (3,-3),表示三位有效数字,从百位开始,如123000
   (2,4),表示2位有效数字,有4位小数,如0.0001-0.0099
 

2.2 insert


插入字段
insert into 表名(相对应字段) values (对应字段的值);

insert into 表名 values (全部对应字段的值);
插入多条数据
intsert into 表名 (查询语句);    ---查询语句的结果集表结构要和被插入的表结构相同

2.3 update
语法:
update 表名 set 列名 = 新的列值,
    .... 
   列名 = 新的列值
where 条件;


例子:将员工号为1011的员工薪水改为3500,职位改为Programmer
update emp_xxx
set salary 3500,job = 'Programmer'
where empno = 1011;


例子:将部门10的员工薪水+1000
update emp_xxx set salary = salary + 1000
where deptno = 10;
注意:更新(update)数据表时,注意条件,如果不加条件,修改的是全部记录表

 

2.4 delete


语法:
delete [from] 表名 where 条件;
注意:如果删除语句中不加where条件,将删除表中的全部记录,可以回退


例子:删除'牛宝宝'的记录
delete emp_xxx
where ename = '牛宝宝';
例子:删除表中所有的数据
delete emp_xxx;


2.5 truncate(截取,截断)


1)truncate table;删除表中数据,保留表结构
2)truncate操作不需要提交(commit),没有回退(rollback)的机会
3)语法结构:
 truncate table 表名;


4)truncate与delete的区别
 truncate在功能上等同于: delete + commit
 delete操作将删除数据存储到临时空间中,不能直接删除,可以回退
 truncate 操作直接删除,不占用临时空间,不能回退


2.6 rename
rename 表名 to 新表名;

2.7 drop
drop taible 表名;   删除表(删除表的结构和数据)
drop datebase;   删除数据库
注意:不可以回退

 

2.8 alter(修改结构)

2.8.1 add关键字


增加列(只能增加在最后一列)
语法结构:
 alter table 表名 add(列名 数据类型(长度));
例子:增加一列
alter table emp_xxx add(name char(10));

2.8.2 rename关键字


修改列名
语法结构
 alter table  表名 rename cloumn 原列名 to 新列名
例子:alter table emp_xxx rename column name to nm;

2.8.3 modify关键字
修改列的数据类型
语法结构:
 alter table 表名 modify (列名 数据类型());
例子:修改pwd列的数据类型为char(8);
alter table emp_xxx modify(pwd char(8));

 

2.8.4 drop column
删除列
语法结构
alter table 表名 drop column 列名;
例子:
alter table mytemp_xxx drop column pwd;

 

2.9 rownum关键字
rownum是Oracle数据库提供的,代表行号.
例子:向新表中插入指定记录的数据,比如前8条
insert into emp_bak1
(select * from emp_xxx where wownum <=8);

2.10 rowid包含的信息 ?
1)表的信息,属于哪张表
2)属于哪个数据文件
3)属于哪个数据块
4)在数据块第几条记录
select rowid,empno from emp_xxx;

posted on 2012-05-16 00:35  只是小人物  阅读(231)  评论(0编辑  收藏  举报