第三章 SQL语言基础(上)

1、SQL语言概述、分类

 结构化查询语言(Structure Query Language,SQL)。

(1)DDL,数据定义语言

  CREATE、ALTER、DROP

(2)DCL,数据控制语言

  GRANT、REVOKE

(3)DML,数据操纵语言

  SELECT、INSERT、DELETE、UPDATE

SQL语言使用实例

(1)CREATE TABLE abc(a varchar2(10),b varchar2(10));

创建表abc,包含a、b两个字段

(2)ALTER TABLE abc ADD c number;

修改表abc结构,追加一个number型字段c

 

(3)ALTER TABLE abc DROP COLUMN c;

修改表abc结构,删除字段c。

 

(4)DROP TABLE abc;

删除表abc

(5)GRANT SELECT ON dept TO TT;

在scott用户连接下,给tt用户授权对dept表查询。

(6)REVOKE SELECT ON dept FROM tt;

撤销tt用户在dept表的SELECT权限

(7)select * from dept;

查询表dept中的所有数据

(8)INSERT INTO abc(a,b) VALUES('abc2','xy2');

向表abc中的a字段和b字段分别插入数据abc,xy。向表记录中的所有字段加入数据可以省略表名后括号内字段名。

(9)UPDATE abc SET b='ttt';

将表abc中全部b字段值改为ttt。

(10) UPDATE abc SET b = 'yyy' WHERE a = 'abc';

找到表abc中a字段值为abc的记录,将去b字段值改为yyy。

(11) DELETE FROM abc WHERE a='abc';

删除表abc中a字段值为abc的记录。

(12)DELETE FROM abc;

将表abc中数据全部删除。

2、常用系统函数

1、字符类型

 (1)length:

(a)SELECT LENGTH('ABCDEF') FROM dual;

查询字符串ABCDEF的字符数。

(b)SELECT LENGTH('ABC好EF') FROM dual;

查询字符串ABC好EF的字符数。

(c)SELECT LENGTHB('ABC好EF') FROM dual;

查询字符串ABC好EF的字节数。

(d)SELECT LENGTHB(' ABC好EF') FROM dual;

查询字符串 ABC好EF的字节数。

 (2)trim

(a)SELECT LTRIM(' ABC好EF') 左去空格 FROM dual;

去掉括号内字符串左边的空格。

(b)SELECT RTRIM(' ABC好EF ') 右去空格 FROM dual;

去掉括号内字符串右边的空格。

(c)SELECT TRIM(' ABC好EF ') 左右去空格 FROM dual;

去掉括号内左右的空格。

 (3)substr:

(a)SELECT SUBSTR('abcdefg',2,3) FROM dual;

截取子串,从第2位开始,往后取3个字符。

(b)SELECT SUBSTR('abcdefg',1,3) FROM dual;

左取3个字符。

(c)SELECT SUBSTR('abcdefg',LENGTH('abcdef')-3+1,3) FROM dual;

右取3个字符。

2、日期类型

(1)SELECT sysdate FROM dual;

查询系统当前时间。

(2)ALTER SESSION SET NLS_DATE_FORMAT = 'yyyy mondd hh:mi:ss';

SELECT CURRENT_DATE FROM dual;

设置当前会话日期格式,查询当前系统日期时间,按设置格式输出。

(3)SELECT NEXT_DAY(sysdate,'星期五') FROM dual;

当前时间之后的星期五,日期。

3、转换类型

(1)SELECT TO_CHAR(sysdate,'yyyy-mm-dd hh:mi:ss') FROM dual;

日期类型转换为字符类型。

(2)SELECT TO_NUMBER('333') FROM dual;

字符型转化为数字型,待转化字符需为数字字符。

4、聚集函数类型

(1)SELECT MAX(PRICE) FROM books;

查询价格最大值。

(2)SELECT MIN(PRICE) FROM books;

查询价格最小值。

(3)SELECT SUM(PRICE) FROM books;

查询价格总和。

(4)SELECT AVG(PRICE) FROM books;

查询价格的平均值。

(5)SELECT COUNT(PRICE) FROM books;

查询PRICE字段的行数。

(6)SELECT COUNT(*) FROM books;

查询books表中记录的行数。

5、其他类型

(1)SELECT user FROM dual;

查询当前用户。

(2)SELECT SUM(DECODE(SEX,'男',1,0)) 男人数,SUM(DECODE(SEX,'女',1,0)) 女人数 FROM e;

分别统计表e中的男性人数和女性人数。

(3)SELECT A1,NVL(A2,'空值') FROM aa;

设定A2列未输入值项的缺省值。

(4)SELECT * FROM aa ORDER BY A1 ASC;

按A1字段升序排列查询结果。

(5)SELECT * FROM aa ORDER BY A1 DESC;

按A1字段降序排列查询结果。

(6)SELECT DISTINCT A1 FROM aa;

查询显示A1字段的唯一值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值