插入数据
INSERT INTO 表名[(列名1,…)] VALUES(值1,值2,…,值n) [子查询];
INSERT INTO STUDENT VALUSE(1003, 'E',12);
--------------------------------------------------------------------------------
数据修改
UPDATE 表名SET 列名1=表达式1,列名2=表达式2,… WHERE 条件
UPDATE STUDENT SET AGE=18 WHERE NAME='B';
--------------------------------------------------------------------------------
删除数据
DELETE FROM 表名 WHERE 条件;
DELETE FROM STUDENT WHERE AGE=12;
--------------------------------------------------------------------------------
表的建立
CREATE TABLE 表名 [表约束]
(列名1 数据类型 [缺省值1,列约束1]
(列名2 数据类型 [缺省值2,列约束2]
…
列名n 数据类型 [缺省值n,列约束n]
[TABLESPACE 表空间名称]
[STORAGE (存贮的子句)]
[ENABLE 约束名]
[DISABLE 约束名]
--------------------------------------------------------------------------------
表结构的修改
在已存在的表中增加新列,语句句法:
ALTER TABLE 表名 ADD(新列名 数据类型(长度));
例如:
ALTER TABLE STUDENT ADD (DEPARTMENT CHAR(8));
b.增加已有列的数据类型。
例如:
ALTER TABLE STUDENT MODIFY(NAME VARCHAR2(25));
--------------------------------------------------------------------------------
表的删除
将已经存在的表删除,语句句法:
DROP TABLE表名;
例如:
DROP TABLE EMP;
--------------------------------------------------------------------------------
查询语句
SELECT命令的语法为:
SELECT [DISTINCT│ALL] {*│模式名.] {表名│视图名│
快照名] .*…│ {表达式[列别名]…} } [, [模式名. ] {表名│
视图名│} .*…│ 表达式[列别名] ]…
FROM [模式名.] {表名│视图名│快照名} [@数据库链名] [表别名]
[, [模式名.] {表名│视图名│快照名} [@数据库链名]
[表别名] ]…
[WHERE条件]
[START WITH条件 CONNECT BY 条件]
[GROUP BY表达式[,表达式] …[HAVING条件]
[UNION│UNION ALL │INTERSECT│MINUS]SELECT命令
[ORDER BY{表达式│位置} [ASC│DESC] [, {表达式│位置[ASC│DESC]}]…]
例如:对于STUDENT表:
NO NAME AGE
1001 AE 12
1002 BT 14
(1) 查询年纪为12的学生姓名;
SELECT STUDENT.NAME FROM STUDENT WHERE AGE=12;
(2) 查询年纪在12至16岁之间的学生姓名;
SELECT STUDENT.NAME FROM STUDENT WHERE AGE BETWEEN 12 AND 16;
(3) 查询年纪不在12至16岁之间的学生姓名;
SELECT STUDENT.NAME FROM STUDENT WHERE AGE NOT BETWEEN 12 AND 16;
(4) 查询所有姓名以A开头的学生的姓名;
SELECT STUDENT.NAME FROM STUDENT WHERE NAME LIKE 'A%';
(5) 列出所有学生年纪的和,年纪的平均值,最大值,最小值,最大值与最小值之间的差值;
SELECT AVG(AGE), SUM(AGE), MAX(AGE), MIN(AGE), MAX(AGE)-MIN(AGE);
(6) 将所有学生按学号顺序升序排列;
SELECT * FROM STUDENT ORDER BY NO DESC;
(7) 将所有学生按学号顺序升序排列;
SELECT * FROM STUDENT ORDER BY NO ASC;
INSERT INTO 表名[(列名1,…)] VALUES(值1,值2,…,值n) [子查询];
INSERT INTO STUDENT VALUSE(1003, 'E',12);
--------------------------------------------------------------------------------
数据修改
UPDATE 表名SET 列名1=表达式1,列名2=表达式2,… WHERE 条件
UPDATE STUDENT SET AGE=18 WHERE NAME='B';
--------------------------------------------------------------------------------
删除数据
DELETE FROM 表名 WHERE 条件;
DELETE FROM STUDENT WHERE AGE=12;
--------------------------------------------------------------------------------
表的建立
CREATE TABLE 表名 [表约束]
(列名1 数据类型 [缺省值1,列约束1]
(列名2 数据类型 [缺省值2,列约束2]
…
列名n 数据类型 [缺省值n,列约束n]
[TABLESPACE 表空间名称]
[STORAGE (存贮的子句)]
[ENABLE 约束名]
[DISABLE 约束名]
--------------------------------------------------------------------------------
表结构的修改
在已存在的表中增加新列,语句句法:
ALTER TABLE 表名 ADD(新列名 数据类型(长度));
例如:
ALTER TABLE STUDENT ADD (DEPARTMENT CHAR(8));
b.增加已有列的数据类型。
例如:
ALTER TABLE STUDENT MODIFY(NAME VARCHAR2(25));
--------------------------------------------------------------------------------
表的删除
将已经存在的表删除,语句句法:
DROP TABLE表名;
例如:
DROP TABLE EMP;
--------------------------------------------------------------------------------
查询语句
SELECT命令的语法为:
SELECT [DISTINCT│ALL] {*│模式名.] {表名│视图名│
快照名] .*…│ {表达式[列别名]…} } [, [模式名. ] {表名│
视图名│} .*…│ 表达式[列别名] ]…
FROM [模式名.] {表名│视图名│快照名} [@数据库链名] [表别名]
[, [模式名.] {表名│视图名│快照名} [@数据库链名]
[表别名] ]…
[WHERE条件]
[START WITH条件 CONNECT BY 条件]
[GROUP BY表达式[,表达式] …[HAVING条件]
[UNION│UNION ALL │INTERSECT│MINUS]SELECT命令
[ORDER BY{表达式│位置} [ASC│DESC] [, {表达式│位置[ASC│DESC]}]…]
例如:对于STUDENT表:
NO NAME AGE
1001 AE 12
1002 BT 14
(1) 查询年纪为12的学生姓名;
SELECT STUDENT.NAME FROM STUDENT WHERE AGE=12;
(2) 查询年纪在12至16岁之间的学生姓名;
SELECT STUDENT.NAME FROM STUDENT WHERE AGE BETWEEN 12 AND 16;
(3) 查询年纪不在12至16岁之间的学生姓名;
SELECT STUDENT.NAME FROM STUDENT WHERE AGE NOT BETWEEN 12 AND 16;
(4) 查询所有姓名以A开头的学生的姓名;
SELECT STUDENT.NAME FROM STUDENT WHERE NAME LIKE 'A%';
(5) 列出所有学生年纪的和,年纪的平均值,最大值,最小值,最大值与最小值之间的差值;
SELECT AVG(AGE), SUM(AGE), MAX(AGE), MIN(AGE), MAX(AGE)-MIN(AGE);
(6) 将所有学生按学号顺序升序排列;
SELECT * FROM STUDENT ORDER BY NO DESC;
(7) 将所有学生按学号顺序升序排列;
SELECT * FROM STUDENT ORDER BY NO ASC;