Oracle应用

sql简介:
SQL是什么?

  • Structured Query Language结构化者询语言
    对程序增删改查时使用

SQL的组成:

  •  数据定义语言(DDL): CREATE、ALERT、 DROP、TRUNCATE
    
  •  数据操作语言(DML): INSERT、UPDATE、 DELETE、 SELECT
    
  •  事务控制语言(TCL): COMMIT、SAVEPOINT、ROLLBACK
    
  •  数据控制语言(DCL): GRANT、REVOKE
    

运算符:

  • 一种符号,它是用来进行列间或者变量之间的比较和数学算的

  • 包括算术运算符、赋值运算符、比较运算符、逻辑运算符

  1. 算数运算符: + - * %

  2. 赋值运算符: 把一个数或变量或表达式复制给另一个变量

  3. 逻辑运算符: AND(和) OR(并且) NOT(取反)

逻辑运算符
		AND	当且仅当两个布尔表达式都为true时,返回TRUE。
		OR	当且仅当两个布尔表达式都为false,返回FALSE。
		NOT	布尔表达式的值取反
  1. 比较运算符: = > < <> >= <= !=
  • +加运算,求两个数或表达式相加的和,如6+8

  • -减运算,求两个数或表达式相减的差

  • *乘运算,求两个数或表达式相乘的积

  • /除运算,求两个数或表达式相除的商,如5/3的值为1

  • %取模运算,求两个数或表达式相除的余数,如: 5%3的值为2

    语法(增删改查):写完一定要用commit;提交
    增加:

//添加单行注释

INSERT INTO (表名字段)values(); --每个数据值的数据类型必须相匹配注意约束

//添加多行注释复制添加复制其他表中的数据 --注意列的数量

			insert into 表名(列名)
			select列名
			from 表名
			--默认值可以写把字段1设置成默认值
			--insert的话, defalt可以要盖not nul约束
			insert into表明(字段1) values(default);

修改:
//修改set后面写修改的值where后面是判断要修改的值


UPDATE表名SET列名=更新值
[WHERE更新条件]
			--update,则default不一 定能要盖not null约束
			1、更新多列数据使用逗号隔开
			2、勿忘条件限制,以防有效数据的丢失

删除:
使用DELETE删除数据行
语法

DELETE [FROM]表名[WHERE <删除条件>]

使用TRUNCATE删除数据行
语法

TRUNCATE TABLE 表名

delete和truncate 的异间:
delete和truncate的区别相同都是删除数据操作
删除数据操作
不同:
1.delete可 以删除部分数据(加入where); truncate不行
2.在删除相间的数据量时,delete效率慢,truncate效率快
3.delete 删除数据后,会生成数据碎片会记录到日志中,可以恢复,truncate不能恢复
4.delete truncate删除 后都不会影响自增(和mysql不同的地方)

	查询:
		
		普通查询:select字段from表名where字段=值:
		查询全部:select * from表名;
		起别名别名的使用范围:当前sq语句中字段别名不需要用引号括起来
		select字段名as字段别名from表名:
		常量列:一般适用于分页	select'云图智联as学院from表名;
		排序 :
			升序:select字段from表名order by根据排序字段asc,
			降序:select字段from表名order by根据排序字段desc;
		两列排序:当第一个排序遇到相同时,根据第二个排序
			select * from表名order by字段1.字段2;
			  第一个升序第二个降序:select * from表名order by字段1 desc字段2 asc;

sqlplus常用语句

show user;
select * from user_role_privs;
select * from tab; 	--查看当前用户所有表 tab指对象
desc student3; 	--查询当前表结构
exit;  		--退出
conn		--更换用户

Oracle常用SQL语句

1、连接SQL*Plus system/manager
2、显示当前连接用户SQL> show user 
3、查看系统拥有哪些用户SQL> select * from all_users;
4、新建用户并授权SQL> create user a identified by a;(默认建在SYSTE M表空间下)SQL> grant connect,resource to a; 
5、连接到新用户SQL> conn a/a 
6、查询当前用户下所有对象SQL> select * from tab;
7、建立第一个表SQL> create table a(a number); 
8、查询表结构SQL> desc a 
9、插入新记录SQL> insert into a values(1); 
10、查询记录SQL> select * from a; 
11、更改记录SQL> update a set a=2;
12、删除记录SQL> delete from a; 
13、回滚SQL> roll;SQL> rollback; 
14、提交SQL> commit; 
15、查出当前用户所有表名select unique tname from col;

常用函数
Oracle SQL 提供了用于执行特定操作的专用函数。这些函数大大增强 了 SQL 语言的功能。

  1. 单行函数:对每一个函数应用在表的记录中时,只能输入一行结果,返回一个结果,
    比如:MOD(x,y)返回 x 除以 y 的余数(x 和 y 可以是两个整数,也可以是表中的整数列)。 常用的单行函数有: 字符函数:对字符串操作。
    数字函数:对数字进行计算,返回一个数字。
    转换函数:可以将一种数据类型转换为另外一种数据类型。 日期函数:对日期和时间进行处理。
  2. 聚合函数:聚合函数同时可以对多行数据进行操作,并返回一个结果。比如 SUM(x)

字符函数

函数 功能
initcap(char) 首字母大写
lower(char) 转换为小写
upper(char) 转换为大写
trim(char,ser) 左剪裁
rerim(char,set) 右剪裁
translate(char.,from,to) 按字符翻译
replace(char,search str,replace str) 字符串替换
instr(char,substr[post]) 查找子串位置
substr(char,pos,len) 取子字符串
length(char) 字符串长度
concat(char1,char2) 连接字符串

数字函数

函数 功能
abs(n) 取绝对值
ceil(n) 向上取值
sin(n) 正弦
cos(n) 余弦
sign(n) 取符号
floor(n) 向下取整
power(m,n) m的n次幂
mod(m,n) 取余数
round(m,n) 四舍五入
trunc(m,n) 截断
sqrt(n) 平方根
 1 ‐‐ 四舍五入
 2 select round(255,1) from dual; 
 3 ‐‐ 舍弃小数位 
 4 select trunc(255,1) from dual;

常用日期函数

函数 功能
month between(date1,date2) 返回两个日期间的月份
add_ month(date,n) 返回把月份数n加到日期date,上的新日期
next_ day(date,week) 返回指定日期后的星期对应的新日期
last-day(date) 返回指定日期所在月的最后一天

常用转换函数

函数 功能
to_ char(字符串 列,格式字符串) 转换成字符串类型
to date(字符串,格式字符串) 转换成日期类型
to_ number(字符串) 转换成数值类型

其他函数

函数 功能
nvl(exp1,exp2) 如果exp1的值为null,则返回exp2的值,否则nvl(exp1,exp2) 返回exp1的值
nvl2(exp1,exp2,exp3) 如果exp1的值不为null,则返回exp2的值,否则返回exp3的值
decode(value,if1,then1,if2.hen…else) 如果value的值为if1,则返回then1的值,如果为if2,则返回then2的值,… 否则else的值

统计函数

1avg(x):返回x的平均值 
select avg(grade) from sc;2count(x):返回统计的行数 
select count(name) from sc;3max(x):返回x的最大值
select max(grade) from sc;4min(x):返回x的最小值 
select min(grade) from sc;5sum(x):返回x的总计值 
 select sum(grade) from sc;

你可能感兴趣的:(Oracle)