SQL基本操作

1. 常用数据类型

数据类型解释
INTEGERH 或 INT4个字节长度的整数
SMALLINT2个字节长度的整数
NUMERIC(m, n) 或 DECIMAL(m, n) 或 DEC(m, n)具有m总位数包括n为小数的定位小数
FLOAT(n)具有n位二进制精度的浮点数
REAL4个字节长度的浮点数
DOUBLE8个字节长度的浮点数
CHARACTER(n) 或 CHAR(n)具有n个字符空间固定长度的字符串
VARCHAR(n)具有最大长度为n的字符串
BOOLEAN布尔代数类型数据
DATE日期类型数据。根据所用语言而定
TIME时间类型数据。根据所用语言而定
BLOB二进制大型对象数据
CLOB字符串大型对象数据

2.数据查询

一般格式
SELECT [ALL|DISTINCT] <目标列表达式> [, <目标列表达式>] ...
FROM <表名或视图名> [, <表名或视图名>...] | (<SELECT语句>) [AS] <别名>
[WHERE<条件表达式>]
[GROUP BY <列名1> [HAVING<条件表达式>]]
[ORDER BY <列名2> [ASC|DESC]]

单表查询

SELECT Sno,SNAME FROM STUDENT

连接查询

SELECT STUDENT.SNO, SNAME
FROM STUDENT, SC
WHERE STUDENT.SNO = SC.SNO AND SC.CNO = '2' AND SC>GRADE > 90

嵌套查询

SELECT SNAME        //外层查询
FROM STUDENT
WHERE SNO IN
    (
        SELECT SNO  //内层查询
        FROM SC
        WHERE CNO = '2'
    );

集合查询

SELECT *
FROM STUDENT
WHERE SDEPT = 'CS'
UNION
SELECT *
FROM STUDNET
WHERE SAGE <= 19;

基于派生表表的查询

SELECT SNO, CNO
FROM SC, (SELECT SNO, AVG(GRADE)
          FROM SC
          GROUP BY SNO
          AS AVG_SC(AVG_SNO, AVG_GRADE)
WHERE SC.SNO = AVG_SC.AVG_SNO AND SC.GRADE >= AVG_SC.AVG_GRADE

3.数据更新
插入数据

//插入元组
INSERT
INTO STUDENT(SNO, SNAME, SSEX, SDEPT, SAGE)
VALUES('201215128', '程东''男', 'IS', 18);

//插入子查询结果
INSERT
INTO DEPT_AGE(SDEPT, AVG_AGE)
SELECT SDEPT, AVG(SAGE)
FROM STUDENT
GROUP BY SDEPT

修改数据

UPDATE STUDENT
SET AGE = 22
WHERE SNO = '21215121'

删除数据

DELETE
FROM STUDENT
WHERE SNO = '201215128'

4.视图
与基本表不同,视图不存放相应的数据,它是基本表的投影/窗口
建立视图

CREATE VIEW IS_STUDENT
AS
SELECT SNO, SNAME, SAGE
FROM STUDENT
WHERE SDEPT = 'IS'

删除视图

DROP VIEW IS_STUDENT
DROP VIEW IS_STUDENT CASCADE //级联删除,视图上导出视图时

查询视图

//与基本表操作相似
SELECT SNO, SNAME
FROM IS_STUDENT
WHERE SAGE < 20
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值