sql语句分类
来源:互联网 发布:imap4 端口设置 编辑:程序博客网 时间:2024/05/17 01:49
1.数据查询语言:select
例如:
select * from scott.emp;
2.数据操纵语言(DML,Data Manipulation Language)
包括insert ,update,delete.有时把select也归于此类.DML操作后必须提交(即commit;)才能真正将改变应用到数据库中.
1.insert:
INSERT INTO 表名称 VALUES (值1, 值2,....)
例如:insert into scott.deptvalues(44,'manager','zhuhai');
INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)
例如:insert into scott.dept(deptno,dname)values(11,'CEO');
2.update:
UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
例如:update scott.dept set dname='sales' where deptno=11;
3.delete:
删除某行:DELETE FROM 表名称 WHERE 列名称 = 值
例如:delete from scott.dept where deptno = 11;
删除整个表:DELETE FROM table_name或者DELETE * FROM table_name
例如:delete from scott.bonus;
(注意:delete只是删除表中的内容,表的结构仍在,仍可以insert数据.如果是drop则整个表都删除.
另外还有TRUNCATE TABLE table_name.它和delete一样,只是它操作后不能rollback.因为它是DDL会自动提交.而delete是可以rollback的)
3.数据定义语言(DDL Data Definition Language)
包括:create alter,drop,truncate.此类语言不需要commit;会自动提交
1.create:
CREATE TABLE 表名称(列名称1 数据类型,列名称2 数据类型,....);
注意:创建表时也可以指定约束条件或某列的默认值:
例1:CREATE TABLE info(ename varchar2(10),age intDEFAULT 18);
INSERT INTO info(ename) VALUES('arwen');虽然没插入age的值,但默认设为18了.所以相当于你插入arwen,18.如果没指定default则插入arwen,NULL
还有一种创建table的方式是:
CREATE TABLE table_name AS querySQL;--这样只是相当复制另一个表的数据和表结构,不会把表里的约束条件过来.
例如:CREATE TABLE newemp AS SELECT * FROM emp;
数据类型(data_type)规定了列可容纳何种数据类型。下面的表格包含了SQL中最常用的数据类型:
integer(size)
int(size)
smallint(size)
tinyint(size)
仅容纳整数。在括号内规定数字的最大位数。decimal(size,d)
numeric(size,d)
容纳带有小数的数字。
"size" 规定数字的最大位数。"d" 规定小数点右侧的最大位数。
char(size)容纳固定长度的字符串(可容纳字母、数字以及特殊字符)。
在括号中规定字符串的长度。
varchar(size)容纳可变长度的字符串(可容纳字母、数字以及特殊的字符)。
在括号中规定字符串的最大长度。
date(yyyymmdd)容纳日期。
补充:实际在oracle中不管是整数还是浮点数都是保存成number类型,所以凡是数值只要知道number类型就行了.其他像
integer, int , smallint, decimal , numberic ,float , real这些东东就不用管了,这些类型是为了兼容其他数据库的类型而出现的.
例如:create table scott.dept2
(
deptno number(2),
dname varchar2(14),
loc varchar2(13)
);
2.alter:
在表中增加一列:ALTER TABLE table_name ADD column_name datatype
例如:alter table scott.dept2 add country varchar2(10);
在表中删除一列:ALTER TABLE table_name DROP COLUMN column_name
例如:alter table scott.dept2 drop column country;
更改某例数据类型:ALTER TABLE table_name MODIFY column_name datatype
例如:alter table scott.dept2 modify country varchar2(12);
更改表名:alter table scott.dept2 rename to dept3;
更改列名:alter table scott.dept3 rename column country to city;
激活scott用户:alter user scott account unlock;
锁住scott用户:alter user scott account lock;
修改密码:alter user scott identified by arwen;
4.数据控件语言(DCL Data Control Language)
包括grant,revoke.此类语言不需要commit;会自动提交.
1.grant:
赋予连接数据库的权限:grant connect to scott;
赋予查找另一个schema中的表的权限:grant select on OE.orders to scott;
2.revoke:
取消连接数据库权限:revoke connect from scott;
取消查找另一个schema表的权限:revoke select on OE.orders from scott;
5.事物控件语言(TCL Transactional Control Language)
包括commit,rollback,savepoint.
1.commit:
insert into scott.dept values(21,'mgr','hongkong');
commit;
2.rollback:
insert into scott.dept values(22,'mgr','hongkong'); commit;delete from scott.dept where deptno=22;rollback;
(注意:如果insert 语言句没commit;则删除后不能rollback;rollback是回退到上一次commit;也就是说上一次commit之后的所以操作取消.
如果delete之后再commit;也不能rollback删除的数据了)
3.savepoint:
insert into scott.dept values(23,'mgr','hongkong');savepoint one;
insert into scott.dept values(24,'mgr','hongkong');savepoint two;
rollback to savepoint one;
(注意:rollback默认是回退到上一次commit;但如果要回退到上一次commit之后的某个点该怎么办呢.那就用savepoint.另外注意savepoint
只是个临时值,如果commit的话则commit之前的savepoint全部失效.)
- ORACLE SQL 语句分类
- sql 语句分类
- oracle sql语句分类
- sql语句分类
- SQL语句分类
- ANSI SQL语句分类
- SQL语句分类
- ANSI SQL语句分类
- Sql语句的分类
- Oracle SQL语句分类
- SQL语句的分类
- 标准SQL语句分类
- SQL语句分类
- ANSI SQL语句分类
- SQL语句分类
- SQL语句的分类
- 产品分类SQL语句
- 三、SQL 语句分类
- 基于QT的网络聊天系统
- 常用快捷键(更新中)
- vbox中的操作系统拷贝
- java 和C++ 多态机制区别
- 拷贝构造函数 深拷贝和浅拷贝
- sql语句分类
- 热门话题:使用WCF实现SOA面向服务编程(一)——SOA的概念
- Android 开发中使用Intent传递数据的方法
- 安装DirectX 9.0b及在VC6.0下配置成功
- 串口通信的基本概念
- 改变UIAlertView背景
- 函数指针及函数指针数组的妙用
- fatal error link1104: cannot open file'mfc70d.lib'的解决方法
- linux 下开发环境的搭建