sql語句:雖然sql語句不區分大小寫,但是字串的值時區分大小寫的。
sql是結構化查詢語句,運算元據庫需要向資料庫傳送sql語句,資料庫會理解sql語句中含義並執行
sql語句分為:
ddl(資料定義語言):用來運算元據庫物件資料庫物件:表,試圖,索引,序列
資料庫定義語句用於增刪改資料庫物件
--建立表
create table employee( id number(4), name varchar2(20),gender char(1),birth date,salary number(6,2),job varchar2(30),deptno number(2))
--檢視表結構:desc employee
字段預設值(default):資料庫中多有字段不論是什麼型別,預設值都是null,可以使用default為字段單獨指定預設值(在需要指定的字段後面加關鍵字default並將預設的值賦在其後)。
--not null 當乙個欄位被設定為not null 約束後,該字段的值不允許為空(使用方法與設定預設值方法相同都是在需要設定的字段後面新增,這個約束不需要寫值)。
--刪除表drop table employee
修改表:
1.修改表名字rename employee_zyl to myemp_zyl
2.修改表結構
1新增新的字段:需要注意,新增的字段只能被追加到表的最後一列中,不能再現有的字段中間插入乙個字段
alter table myemp add(hiredate date)
2刪除字段:將現有的字段刪除,需要注意的是注意資料安全。
alter table myemp drop(hiredate)
3修改現有字段:可以修改欄位的型別,長度,新增約束或者設定預設值若表中以存在資料,則不要修改欄位的型別,長度盡可能只增不減,否則可能會修改失敗
alter table myemp modify(job varchar2(40))
dml(資料操作語言):用來操作表中資料
用來增刪改表中的資料,dml總是伴隨事物(tcl)的
1.insert:用於向表中插入新的記錄(insert into 表名(字段)values(值),將對應欄位的值設定進去),插入資料時,可以不指定欄位名,若不指定則是全列插入。
insert into myemp(id,name,salary,job) values (1,'jack',3000,'clerk')
2.插入如期型別資料時,建議使用函式to_date,該函式可以將乙個字串按照指定的日期格式轉換為date型別。
to_date('1999-09-09','yyyy-mm-dd')--將乙個字串日期轉成date型
3.update語句,修改表中資料需要注意,修改語句通常需要新增where子句,這樣可以限定要求改的記錄,若不新增where,則是全表所有記錄都進行修改,新增了則只會將滿足where條件的記錄進行修改
update myemp set salary=5000,deptno=20 where id=1
4.delete語句,刪除表中資料需要注意,刪除語句通常需要新增where子句,這樣可以限定要刪除的記錄,若不新增where,則是清空表操作,新增了則只會將滿足where條件的記錄進行刪除
delete from myemp where salary=1234
truncate table myemp_limin:刪除表
簡單理解函式宣告 以signal函式為例
signal 幾乎所有c語言程式的實現過程中都要用到signal函式,作為捕獲不同步的一種方式。我們使用者要呼叫signal函式,可以這樣使用,首先在標頭檔案中加入 include,然後我們可以這樣呼叫signal函式 signal signal type,sighandler t hander 這...
轉置卷積個人理解(以pytorch為例)
直觀理解就是卷積的反向操作,比如4 4的用3 3的卷積核卷積,s 1,p 0,得到2 2的大小,反卷積就是要使輸入2 2的輸出為4 4的。在pytorch使用 class torch.nn.convtranspose2d in channels,out channels,kernel size,st...
kl散度的理解 以曲率的視角理解自然梯度優化
我要講乙個故事 乙個你幾乎肯定聽過的故事,但它的側重點與你習以為常關注的不同。所有現代深度學習模型都使用梯度下降進行訓練。在梯度下降的每個步驟中,您的引數值從某個起始點開始,然後將它們移動到最大損失減少的方向。你可以通過從你的整個引數向量中獲取損失的導數來實現這一點,否則稱為雅可比行列式。然而,這只...