三大類sql語句——該記錄是本人以前微博上的文章
一、DML語句
二、DDL語句
三、事務控制語句
一、DML語句-Data Mulipulation Language
DML語句數據操作野菊執行後會生成一個事務,事務需要提交才能夠永久生效,在commit前是可以進行回滾撤銷操作的!
1、insert into 插入語句
(1)、插入日期
insert into emp values(‘tengjiang‘,to_date(‘1990-7-19‘,‘yyyy-mm-dd‘));
插入日期型數據的時候必須要使用to_date語句,這樣可將字符轉換為日期格式;
(2)、插入有三種種格式
a、insert into emp(values1,values2,values3);
b、insert into emp(empno,ename,job) values(values1,values2,values3);
c、insert into bonus select(); 將查詢結果放入另外一張表中,相當於復制數據;
insert into bonus select ename,job,comm from emp;將emp表中的ename,job,comm三個字段的放入bonus表中;
2、update修改update emp set修改內容
update bonus set(sal,comm)=(select sal,comm form bonus where ename=‘TENGJIANG‘)
where ename=‘ZHANGSAN‘;
3、delete 刪除
(1)、delete from bonus where ename=‘TENGJIANG‘;將姓名為滕江的這條數據刪除;
(2)、delete bonus;直接刪除所有數據,保留表結構;
DML語句在進行操作時,需要commit才能生效,如不commit,下次重新連接數據庫時數據又會恢復成原來狀態;
二、DDL語句數據定義語句,操作表結構的,無需提交即可生效;
1、truncate 刪除語句,快速刪除表內容,名義上屬於DML語句,實際上屬於DDL語句,直接生效不需要手動提交,不能進行回滾;
truncate table bonus;
2、create table test(字段 數據類型,字段2 數據類型)
(1)、create table test (name varchar(20),nianling number(3),sal number(10));
創建test表格包含三個字段
insert into test values(‘tengjiang‘,20,3000);
number(m,n):定義最大位數是m,精確到小數點後n位的數字類型,m最大位數不能超過38位
char(n):定義長度為n的固定長度的字符類型,這個n的最大值是2000個字節
----如果存儲的字符長度不到n,會使用空格補齊到n個字節進行存儲
varchar2(n):定義最大長度為n的可變長度的字符類型,n的最大值是4000個字符
----按照實際輸入的字符長度進行存儲
char():浪費空間,查詢效率較高
varchar2():節省空間,查詢效率較低
date:日期類型,公元前4712年1月1日到公元後4712年12月31日
number(m,n):定義最大位數是m,精確到小數點後n位的數字類型,m最大位數不能超過38位
char(n):定義長度為n的固定長度的字符類型,這個n的最大值是2000個字節
----如果存儲的字符長度不到n,會使用空格補齊到n個字節進行存儲
varchar2(n):定義最大長度為n的可變長度的字符類型,n的最大值是4000個字符
----按照實際輸入的字符長度進行存儲
char():浪費空間,查詢效率較高
varchar2():節省空間,查詢效率較低
date:日期類型,公元前4712年1月1日到公元後4712年12月31日
create table test3
(
testid number(4),
testname varchar2(20),
testgender char(1) default ‘M‘,
testage number(3) default 18,
testcore number(4,1),
testdate date
);
(2)、create tabel 表名as select將查詢的結果建立成一張新表
create table test2 sa select * from test;
3、alert 修改表結構
(1)、alter table 表名 add 列名 數據類型 添加一列
alter table test2 add testid number(4);
(2)、alter table 表名drop colume 列名; 刪除一列
alter table test2 drop column testid;
(3)、alter table 表名 rename column 原列名 to 新列名;
alter table test2 rename column nianling to age; 修改字段名稱
(4)、alter table 表名 modify 列名 數據類型;
alter table test2 modify age number(4);
(5)、添加、修改、刪除默認值
alter table 表名 modify 列名 default 默認值;
alter table 表名 modify 列名 default null;
4、drop 刪除表
drop table 表名;
drop table test;
-----delete:屬於dml語句,需要提交才能生效,可以回滾撤銷操作,可以刪除表中所有數據
-----也可以只刪除條件範圍內的數據,保留表結構
-----truncate:屬於ddl語句,直接生效不需要提交,也不能回滾。快速刪除表中的所有數據
----不能指定範圍刪除,保留表結構
-----drop:屬於ddl語句,直接生效不需要提交,也不能會館。刪除數據和表的結構
5、rename 重新命名表
rename 原表名 to 新表名
三大類sql語句——該記錄是本人以前微博上的文章