Java基礎知識回顧 -SQL
1、什麼是SQL
SQL是指結構化組織語言(Structured Query Language),可以實現對資料庫進行【增刪改查】的操作。
【CRUD】
create:建立 read:檢索 update:更新 delete:刪除
2、SQL方言
SQL是一套標準,所有的資料庫廠商都實現了此標準;也就都可以實現CRUD操作。
只不過各自廠商在此標準上增加了特有的語句,這部分內容我們稱為方言。
如:mysql:註釋 # 是其特有的
3、書寫規範
-
sql語句,可以單行或多行書寫,最後以分號結尾
-
在windows環境下,mysql不區分大小寫,將關鍵字大寫,普通欄位小寫,多個單詞之間以下劃線分割==【欄位USER_ID這樣?】==
-
註釋
單行
– sql標準註釋
# mysql特有的註釋
多行
/* 多行註釋 */
4、SQL分類
-
DDL(Data Definition Language)資料定義語言
用來定義資料庫物件:資料庫,表,列等。關鍵字:create,drop,alter等 -
DML(Data Manipulation Language)資料操作語言
用來對資料庫中表的資料進行增刪改。關鍵字:insert,delete, update等 -
DQL(Data Query Language) 資料查詢語言
用來查詢資料庫中表的記錄(資料)。關鍵字:select, where等 -
DCL(Data Control Language)資料控制語言
用來定義資料庫的訪問許可權和安全級別,及建立使用者。關鍵字:grant,revoke等 -
TCL(Transaction Control Language) 事務控制語言
用於控制資料庫的事務操作,關鍵字; commit,savepoint,rollback等
4.1 DDL對資料庫
C:建立
-
直接建立
語法:
create database 資料庫名; -
先判斷,若不存在建立資料庫
語法:
create database if not exists 資料庫名; -
建立資料庫並指定字符集
語法:
create database 資料庫名 character set 編碼;
R:查詢
-
查詢所有資料庫
語法:
show databases; -
檢視建庫語句
語法:
show create database 資料庫名;
U:修改
- 修改資料庫字符集
語法:
alter database 資料庫名 character set 編碼;
D:刪除
-
直接刪除資料庫
語法:
drop database 資料庫名; -
先判斷,若存在就去刪除
語法:
drop database if exists 資料庫名;
進入指定的資料庫內
-
檢視當前所在庫的位置
語法:
select database(); -
進入到指定庫內
語法:
use 資料庫;
4.2 DDL對錶
C:建立
-
建立表
語法:
create table 表名(
列名(欄位名) 資料型別,
列名(欄位名) 資料型別,
…
); -
常見資料型別
整型: int bigint
浮點型:float double
字串:varchar(長度) 1~65535
text longtext
日期:date datetime -
快速建立表結構(複製表)
語法:
create table 新表 like 舊錶;
R:查詢
-
查詢所有表
語法:
show tables; -
檢視建表語句
語法:
show create table 表名; -
檢視錶結構
語法:
desc 表名;
U:修改
-
新增一列(欄位)
語法:
alter table 表名 add 欄位名 資料型別; -
修改欄位型別
語法:
alter table 表名 modify 欄位名 新資料型別; -
修改欄位名
語法:
alter table 表名 change 舊欄位名 新欄位名 新資料型別; -
刪除列(欄位)
語法:
alter table 表名 drop 欄位名; -
修改表的字符集
語法:
alter table 表名 charset=編碼; -
修改表名
語法:
rename table 舊錶名 to 新表名;
D:刪除
-
直接刪除
語法:
drop table 表名; -
先判斷,若存在刪除
語法:
drop table if exists 表名;
4.3 DML對錶記錄增刪改
增加記錄
- 語法:
insert into 表名(欄位1,欄位2,…) values(值1,值2,…); - 注意:
1)欄位名與值的型別要求一一對應
2)字串型別,可以使用單雙引,推薦使用單引號
3)字串型別可以插入一切資料,資料庫底層實現了隱式轉換
4)如果插入所有欄位,我們可以省略欄位
修改記錄
- 語法:
update 表名 set 欄位1=值1,欄位2=值2… [where 條件]; - 注意:
1)[] 表示內容可以省略
刪除記錄
-
語法:
delete from 表名 [where 條件]; -
注意:
1)[] 表示內容可以省略
2)一般刪除都是根據id -
補充刪除命令
truncate table 表名; 摧毀表,構建表。
4.3 DML對錶記錄查詢
- 實現簡單查詢
語法:
select * from 表名;
select 欄位1,欄位2,… from 表名;
去重關鍵字:
select distinct 欄位1,欄位2,… from 表名;
如果多個欄位去重,所有欄位內容需要完全一樣
我們在查詢時,進行數學運算,不會改變表中原有的記錄。
NULL值與其他數值進行運算,結果都為NULL。
ifnull高階函式
IFNULL(欄位名,指定預設值) 如果欄位有值就直接返回,如果為null那麼返回指定的預設值
別名
select 列名 [as] 列別名,列名 [as] 列別名,… from 表名 [as] 表別名
相關文章
- Java基礎知識回顧之六 —– IO流Java
- Java基礎知識回顧之六 ----- IO流Java
- Java基礎知識回顧之七 —– 總結篇Java
- Java基礎知識回顧之七 ----- 總結篇Java
- Java基礎知識回顧之五 ----- 多執行緒Java執行緒
- Android知識點回顧之Activity基礎Android
- Azure Data Factory(九)基礎知識回顧
- Android知識點回顧之Service基礎Android
- javascript知識回顧JavaScript
- flex知識回顧Flex
- java基礎知識Java
- SQL 基礎知識掃盲SQL
- 初識Java Java基礎知識Java
- openLayers 3知識回顧
- Java基礎概念知識Java
- Java基礎知識(二)Java
- java基礎知識點Java
- sql入門基礎知識分享SQL
- sql基礎知識(筆記)(一)SQL筆記
- 串知識的重新回顧
- Java基礎知識總結Java
- Java基礎知識點梳理Java
- Java併發--基礎知識Java
- Java基礎知識——異常Java
- JAVA基礎知識補漏Java
- 【輕知識】phper回顧下jqueryPHPjQuery
- 錯題知識點回顧1
- 《java程式設計基礎》java的基礎知識(三)Java程式設計
- 【Java基礎知識】Java流程控制Java
- SQL隱碼攻擊預備知識-sql基礎SQL
- java基礎知識-序列化/反序列化-gson基礎知識Java
- C#基礎知識回顧:1.由WeakReference想到物件的建立與銷燬C#物件
- Shiro入門這篇就夠了【Shiro的基礎知識、回顧URL攔截】
- Analysis Services基礎知識——深入SQL Server 2008SQLServer
- 回顧JavaScript基礎——函式JavaScript函式
- Java基礎知識點總結Java
- Java基礎知識整理之this用法Java
- Java 基礎面試知識點Java面試