資料庫之SQL 一

2021-10-03 06:37:38 字數 1327 閱讀 5924

模式:描述關於庫和表的布局的以及特徵的資訊

列和資料型別 行

主鍵

在資料庫增刪改查時用sql的關鍵字進行構成

sql的關鍵字不能是列表的名

sql語句由子句構成,有些子句是必須的,有些是可選的.乙個子句通常是由乙個關鍵字和所提供的資料組成的

not操作符

upper()可以將文字轉換成大寫

lower() 轉成小寫

left() 返回字串左邊的字元

right()返回字串右邊的字元

soundex()返回字串的soundex值

組合聚集可以同時使用

可以巢狀先用where對行過濾,在對組過濾

想要乙個有序的,必須用order by 來進行排序,不要依賴group by 的排序

叉聯結:笛卡爾積的聯結有叫叉聯結

select c1.cust_id, c1.cust_name, c1.cust_contact from customers as c1, customers as c2 where c1.cust_name = c2.cust_name and c2.cust_contact = 『jim jones』;

自然聯結

外聯結外連線包含左連線(letf outer join)和右連線(rigth)

我們一般使用的是內聯結,但是外聯結也是有效的

關於確切的聯結語法,應該檢視具體的文件,了解dbms支援哪種語法

保證聯結的正確的聯結條件

應該總是提供聯結條件的,要不然會出現笛卡爾積

在使用聯結多個不同的聯結方式聯結多個表時,需要確保,每個聯結的正確性

插入行的一部分

插入每個查詢結果

實際上dbms不會關心資料來自**,要滿足插入的條件就可以,投入對應的列中

insert 一次只能插入行

insert select 可以一次插入查詢到的所有行

從乙個表複製到另乙個表中

在使用insert時需要一定的許可權

從表中刪除所有的行

當遇到外來鍵時如果該行還關聯著關係,就會報錯

delete刪除的是一行,所以沒有萬用字元

對null的使用

建立表的時候要考慮到未來可能的需求,盡量不要對錶的結構進行大的改動

可以對已有的的表新增列不過,對所增加的列的型別是有限制的

大部分dbms是不允許刪除列和對錶的列進行更改

大部分dbms是允許修改表的列名的

許多dbms對已填入資料的列的限制更改,對沒有填入的幾乎沒有限制

alter table

更改和刪除列,增加約束,外來鍵都是類似的語法

對複雜的表更改需要的步驟

資料庫 SQL之LIMIT ,OFFSET

select prod name from products limit 4 offset 3 limit 4 offset 3指示mysql等dbms返回從第3行 從0行計數 起的4行資料。第乙個數字是檢索的行數,第二個數字是指從哪兒開始。mysql和mariadb支援簡化版的limit 4 of...

資料庫之SQL語法

建立資料庫 create database mytest 建立表 create table t user primary key 定義該列為主鍵列 auto increment表示該列的值,由dbms自動生成,為自動增長列 auto tab鍵 id int primary key auto incr...

資料庫sql 練習一

最近接觸了一到資料庫sql的題目,在這裡記錄一下,方便以後檢視,也歡迎各位小夥伴一起學習,如果不對,還請指出,萬分感激。題目 一。根據下面四個表,寫出sql 我直接在資料庫中新建了這幾張表,建庫指令碼語句如下 create table pe student id int 9 grade id int...