国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Oracle-day5:新增、復制建表、表結(jié)構(gòu)、表數(shù)據(jù)、刪除

這篇具有很好參考價值的文章主要介紹了Oracle-day5:新增、復制建表、表結(jié)構(gòu)、表數(shù)據(jù)、刪除。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

一、insert新增數(shù)據(jù)

二、復制建表

三、表結(jié)構(gòu)修改

四、查看表結(jié)構(gòu)、表數(shù)據(jù)處理

五、修改表數(shù)據(jù)

六、刪除語句

八、練習題


一、insert新增數(shù)據(jù)

/*
? ---------- 一、DML 數(shù)據(jù)操作語言--------
? -- 1、增加數(shù)據(jù) insert
? 語法:insert into 表名 (列1,列2,...) values (值1,值2,...);
? -- 要求:
? ? ?-- a、列和值必須一一對應(位置、數(shù)據(jù)類型、約束)
? -- 注意:
? ? ?a、新增的數(shù)據(jù)需要提交commit才能保存到數(shù)據(jù)庫中
? ? ?b、撤銷新增加的數(shù)據(jù)需要回滾:rollback
? ? ?c、默認值:default表示 ??
*/

-- 1、往 student1表中添加數(shù)據(jù)
insert into student1(sno,sname,ssex,sage,bir,clsno)values('001','李四','男',19,date'2023-8-19','2');
-- 1.1 對于時間的輸入,也可以用:to_date('日期字符串','日期格式y(tǒng)yyy-mm-dd')的方式如錄入

-- 2、往全部列中添加數(shù)據(jù),可以省略列名不寫
insert into student1 values('002','王五','男',19,date'2023-8-19','2');

-- 3、可以將表到處 導成標準的 insert into 語句 文檔
-- 工具 --> 導出表 窗口 --> 選擇 sql插入 指定文件名 --> 導出

二、復制建表

? ?------- 二、復制建表 -------
? ?create table 表名 as select 查詢語句 where 條件;
? ?復制建表:只復制表結(jié)構(gòu),不會復制數(shù)據(jù)
? ?不會復制主鍵約束、檢查約束、默認值約束、唯一約束、外鍵約束
? ?會復制非空約束

-- 1、復制student1的表
create table student2 as select * from student1 where 1 = 2;

where用來控制是復制結(jié)構(gòu)或者把表數(shù)據(jù)都給復制過去

三、表結(jié)構(gòu)修改

? ? ? ?---------三、表結(jié)構(gòu)修改-----------
? ? ---1、菜單操作
? ? ? ? --左邊對象瀏覽器欄 點擊tables 找到對應的表 -->右鍵 編輯 -->表結(jié)構(gòu) 窗口--> 列 選型 --> 增加列、修改列、刪除列
? ? ---2、sql語句操作
? ? ? ? -- 語法:alter table 表名

-- 1、增加列 add
-- 語法:alter table 表名 add(列1 數(shù)據(jù)類型,列2 數(shù)據(jù)類型);
alter table student001 add(a number,b varchar(20));


-- 2、修改列 modify
-- 語法:alter table 表名 modify(列1 數(shù)據(jù)類型,列2 數(shù)據(jù)類型...)
-- 注意:其他數(shù)據(jù)類型可以修改為字符串,但是字符串不能修改為其他數(shù)據(jù)類型
alter table student001 modify(a varchar(20));

-- 3、刪除列 drop 會刪除
-- 語法:alter table 表名 drop(列名1,列名2)
alter table student001 drop(a,b)
select * from student001;
-- 4、重命名列 rename column                                                                                                                                                        
-- 語法:alter table 表名 rename column 舊列名 to 新列名
-- 把sno改為stuId
alter table student001 rename column sno to stuid;

四、查看表結(jié)構(gòu)、表數(shù)據(jù)處理

? ? ? ---------五、查看表結(jié)構(gòu)、表數(shù)據(jù)處理
? ? ? ?--查看表結(jié)構(gòu)
? ? --左邊對象瀏覽器欄 點擊tables 找到對應的表 -->右鍵 查看或編輯 -->表結(jié)構(gòu) ?-->列選項
? ? --在命令窗口 sql提示符輸入 desc 表名; ? 回車執(zhí)行

--1、清空表數(shù)據(jù) truncate table 表名;
truncate table student001;

--2、批量復制數(shù)據(jù)
--insert into 表名 select 查詢語句;
insert into student_b select * from student_a;
commit;

-- 3、對表重命名
-- rename 舊表名 to 新表名
rename student001 to student01;

五、修改表數(shù)據(jù)

? ? ? ?---------- 六、修改數(shù)據(jù)----------
? ? ? ?update語法:update 表名 set 列1 = 值2 where 條件
? ? ? ?注:如果不使用where,那么會修改整個表的數(shù)據(jù)

select * from student01;
-- 修改用戶的年齡是:系統(tǒng)時間 - sbirthday的時間
alter table student01 add (age number) ; -- 新增一個年齡列
select sysdate,to_char(sysdate,'yyyy') y from dual;

-- 1、更新用戶的年齡:系統(tǒng)時間-出生
update student01 s set age=to_char(sysdate,'yyyy')-to_char(sbirthday,'yyyy') where sname = 'wang';
update student01 s set age=to_char(sysdate,'yyyy')-to_char(sbirthday,'yyyy');
commit;

六、刪除語句

? ? ? ?--------------刪除語句-----------
? ? ? ?truncate -- DDL 語句,刪除表中的數(shù)據(jù),效率高
? ? ? ?delete -- 刪除表中的數(shù)據(jù),逐行刪除,DML語句
? ? ? ?delete的語法:
? ? ? ?-- delete from 表名 where 條件;
? ? ? ?-- from可以省略,不要where條件會刪除整個表的數(shù)據(jù)文章來源地址http://www.zghlxwxcb.cn/news/detail-685440.html

select * from student01;

-- 1、刪除掉stuid為001的數(shù)據(jù)
delete student01 where stuid = 001;
rollback; -- 回滾

-- 2、delete不帶where條件會清空整表數(shù)據(jù)
delete student01;
rollback; -- 回滾

八、練習題

 --練習題:
 --1、新建一個表emp2 要求emp2的結(jié)構(gòu)和emp一樣,同時要把emp的數(shù)據(jù)復制過去
create table emp2 as select * from emp;
select * from emp;
select * from emp2;
 
 
 --2、在emp2表中增加一行數(shù)據(jù)
insert into emp2 values(8000,'zs','CLERK',7782,date'2023-08-29',1500,0,10);
select * from emp2;
 
 
 --3、在emp2表中增加列bz和bz1,數(shù)據(jù)類型為字符串
alter table emp2 add(bz varchar(20),bz1 varchar2(30));
select * from emp2; 
 
 
 --4、將emp中的所有記錄工資sal+1000,comm+1000插入到emp2中
-- 4.1 先查詢出emp表中的工資
select sal+1000,comm+1000 from emp;
select * from emp;
select * from emp2;
-- 合并子查詢
update emp2 set sal = (
       select sal+1000 from emp where empno = emp2.empno
),comm = (
       select nvl(comm,0)+1000 from emp where empno = emp2.empno
)
;
select * from emp2; 
rollback;



 
 --5、將emp2中empno為7654的comm獎金修改為2000
update emp2 
set comm = 2000 
where empno = 7654;


select * from emp2; 
 
 
 
 --6、將emp2中員工姓名ename中包含ALL的獎金修改為1600
update emp2 
set comm = 1600 
where
ename like '%ALL%'; 
 
-- 驗證
select * from emp2 
where ename like '%ALL%'; 
 
 
 
--7、在emp2表中增加一個列age,將截止到當前時間的每一個員工工作的年限更新到age列
alter table emp2 
add(age number)
; -- 新增age

select * from emp2; 

update emp2 
set age = to_char(sysdate,'yyyy') - to_char(hiredate,'yyyy')
; -- 更新



select e.*,rownum from emp2 e;

到了這里,關于Oracle-day5:新增、復制建表、表結(jié)構(gòu)、表數(shù)據(jù)、刪除的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包