基礎
創建表:
語法
create table [模式名.]基本表名 (
列名1 型別1,
列名2 型別2,
…
完整性約束…
)[tablespace"表空間名"];
例:
create table student(
id varchar2(20) primary key,
name varchar2(50) not null,
sex char(1) not null
);
修改表:
1 修改表名ALTER TABLE student RENAME to student1;
2 增加欄位
ALTER TABLE student1 ADD info varchar(100);
3 修改欄位
-- 修改欄位的型別
ALTER TABLE student1 MODIFY info integer;
--與 Mysql 不同,oracle 中沒有該語法(同時修改屬性名稱):ALTER TABLE table_name CHANGE 舊屬性名 新屬性名 資料型別
-- 修改欄位的名稱和型別
ALTER TABLE student1 rename column info to stu_info;
ALTER TABLE student1 MODIFY stu_info varchar(200);
洗掉表:
DROP TABLE student1;
插入資料:
--語法
--INSERT INTO table_name(field1,field2,...) VALUES(val1,val2,...);
-- 指定欄位插入
INSERT INTO student1(name,sex) VALUES('張三','男');
-- 不指定欄位插入,需要按順序寫(不推薦使用)
INSERT INTO student1 VALUES('001','張三','男');
洗掉資料
--語法
-- DELETE FROM table_name WHERE CONDITION
--實體
delete from student1 where name='張三';
更新資料記錄
-- UPDATE table_name SET field1=val1,field2=val2,... WHERE condition
update student1 set id = '002' where name = '張三';
單表資料查詢
簡單的資料查詢
-- SELECT field1,field2,... FROM table_name WHERE CONDITION
select sex from student where name='李四';
--使用通配符*查詢所有資料
select * from student where name='李四';
條件資料記錄查詢
在條件內部定義:
1) 帶關系運算子和邏輯運算子的運算式
Oracle 中的關系運算子:>、 >=、 <、 <=、 !=(<>) 、 =
Oracle 中的邏輯運算子:&&(AND)、||(OR)、!(NOT) 在邏輯運算式中,我們一般使用英文表示,如 AND/OR/NOT,
SELECT stuname,salary,salary*12 FROM STUINFO WHERE salary=1000;
SELECT stuname,salary,salary*12 FROM STUINFO WHERE salary!=1000;
SELECT stuname,salary,salary*12 FROM STUINFO WHERE salary<>1000;
SELECT stuname,salary FROM STUINFO WHERE NOT(salary>1000 AND salary<2000);
2) 帶 between…and 關鍵字的條件資料查詢
SELECT stuname,salary FROM STUINFO WHERE salary BETWEEN 1500 AND 2000;
SELECT stuname,salary FROM STUINFO WHERE NOT(salary BETWEEN 1500 AND 2000);
3) 使用 is null 關鍵字的條件資料查詢
其中空字串和 null 是兩個不同的值,在使用的時候,需要注意,查詢空字串,使用”xxx=’’”,而判斷是否是 null 值,要使用 is null,
SELECT * FROM student WHERE code IS NULL;
SELECT * FROM student WHERE code IS NOT NULL;
注意: 由于 ‘’ (空串)默認被轉換成了 NULL,不能使用 = ‘’ 作為查詢條件,也不能用 is ‘’,雖然不會有語法錯誤,但是不會有結果集回傳, 只能用 is null ,
不等于就是 is not null ,
4) 使用 in 關鍵字的條件資料查詢
在已知的指定范圍內,進行資料的查詢,
SELECT * FROM student WHERE id in(2,4);
SELECT * FROM student WHERE id NOT in(2,4);
5) 帶 like(模糊查詢)關鍵字的條件資料查詢
like 表示一種模糊查詢的搜索模式,
-- 準備資料
INSERT INTO student(id,name,code) VALUES(5,'孫悟空','001');
INSERT INTO student(id,name,code) VALUES(6,'小白龍','002');
INSERT INTO student(id,name,code) VALUES(7,'唐僧','003');
INSERT INTO student(id,name,code) VALUES(8,'沙僧','004');
-- 模糊查詢 -- 只要帶有“悟”,會匹配出來
SELECT * FROM student WHERE name LIKE '%悟%';
-- 以“唐”開頭
SELECT * FROM student WHERE name LIKE '唐%';
-- 以“僧”結尾
SELECT * FROM student WHERE name LIKE '%僧';
-- 第一個字符不管,只要第二個字符是“白”,會匹配出來
SELECT * FROM student WHERE name LIKE '_白%';
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/153019.html
標籤:其他
上一篇:ASP.NET Core 中使用 EF Core For PGSQL
下一篇:為Node.js加一個DB類
