MySQL基礎隨筆記(入門)
【1】SQL語言入門
我們都知道,數據庫管理人員(DBA)通過數據庫管理系統(DBMS)可以對數據庫(DB)中的數據進行操作,但具體是如何操作的呢?這就涉及到我們本節要講的SQL語言。
SQL(Structured Query Language)是結構化查詢語言的簡稱,它是一種數據庫查詢和程序設計語言,同時也是目前使用最廣泛的關系型數據庫操作語言。在數據庫管理系統中,使用SQL語言來實現數據的存取、查詢、更新等功能。SQL是一種非過程化語言,只需提出“做什么”,而不需要指明“怎么做”。
SQL是由IBM公司在1974~1979年之間根據E.J.Codd發表的關系數據庫理論為基礎開發的,其前身是“SEQUEL”,后更名為SQL。由于SQL語言具有集數據查詢、數據操縱、數據定義和數據控制功能于一體,類似自然語言、簡單易用以及非過程化等特點,得到了快速的發展,并于1986年10月,被美國國家標準協會(American National Standards Institute,ANSI)采用為關系數據庫管理系統的標準語言,后為國際標準化組織(International Organization for Standardization,ISO)采納為國際標準。
【2】SQL語言分為五個部分:
數據查詢語言(Data Query Language,DQL):DQL主要用于數據的查詢,其基本結構是使用SELECT子句,FROM子句和WHERE子句的組合來查詢一條或多條數據。
數據操作語言(Data Manipulation Language,DML):DML主要用于對數據庫中的數據進行增加、修改和刪除的操作,其主要包括:
(1) INSERT:增加數據 insert
(2) UPDATE:修改數據 update
(3) DELETE:刪除數據 delete
數據定義語言(Data Definition Language,DDL):DDL主要用針對是數據庫對象(數據庫、表、索引、視圖、觸發器、存儲過程、函數)進行創建、修改和刪除操作。其主要包括:
(1) CREATE:創建數據庫對象 create
(2) ALTER:修改數據庫對象 alter
(3) DROP:刪除數據庫對象 drop
數據控制語言(Data Control Language,DCL):DCL用來授予或回收訪問 數據庫的權限,其主要包括:
(1) GRANT:授予用戶某種權限 grant
(2) REVOKE:回收授予的某種權限 revoke
事務控制語言(Transaction Control Language,TCL):TCL用于數據庫的事務管理。其主要包括:
(1) START TRANSACTION:開啟事務
(2) COMMIT:提交事務
(3) ROLLBACK:回滾事務
(4) SET TRANSACTION:設置事務的屬性
【3】認識數據庫表
表(Table)是數據庫中數據存儲最常見和最簡單的一種形式,數據庫可以將復雜的數據結構用較為簡單的二維表來表示。二維表是由行和列組成的,分別都包含著數據,如表所示。
| 班級 | 姓名 | 性別 | 年齡 |
| 軟件一班 | 張三 | 男 | 21 |
| 軟件一班 | 李四 | 女 | 18 |
| 軟件二班 | 王五 | 女 | 20 |
| 軟件三班 | 趙六 | 男 | 19 |
每個表都是由若干行和列組成的,在數據庫中表中的行被稱為記錄,表中的列被稱為是這些記錄的字段。
記錄也被稱為一行數據,是表里的一行。在關系型數據庫的表里,一行數據是指一條完整的記錄。
字段是表里的一列,用于保存每條記錄的特定信息。如上表所示的學生信息表中的字段包括“學號”、“姓名”、“性別”和“年齡”。數據表的一列包含了某個特定字段的全部信息。
【4】認識數據庫 數據類型
1.整數類型
MySQL支持選擇在該類型關鍵字后面的括號內指定整數值的顯示寬度(例如,INT(4))。顯示寬度并不限制可以在列內保存的值的范圍,也不限制超過列的指定寬度的值的顯示
主鍵自增:不使用序列,通過auto_increment,要求是整數類型

2.浮點數類型
需要注意的是與整數類型不一樣的是,浮點數類型的寬度不會自動擴充。 score double(4,1)
score double(4,1)--小數部分為1位,總寬度4位,并且不會自動擴充。

3.字符串類型
CHAR和VARCHAR類型相似,均用于存于較短的字符串,主要的不同之處在于存儲方式。CHAR類型長度固定,VARCHAR類型的長度可變。
因為VARCHAR類型能夠根據字符串的實際長度來動態改變所占字節的大小,所以在不能明確該字段具體需要多少字符時推薦使用VARCHAR類型,這樣可以大大地節約磁盤空間、提高存儲效率。
CHAR和VARCHAR表示的是字符的個數,而不是字節的個數

4.日期和時間類型

TIMESTEMP類型的數據指定方式與DATETIME基本相同,兩者的不同之處在于以下幾點:
(1) 數據的取值范圍不同,TIMESTEMP類型的取值范圍更小。
(2) 如果我們對TIMESTAMP類型的字段沒有明確賦值,或是被賦與了NULL值,MySQL會自動將該字段賦值為系統當前的日期與時間。
(3) TIMESTEMP類型還可以使用CURRENT_TIMESTAMP來獲取系統當前時間。
(4) TIMESTEMP類型有一個很大的特點,那就是時間是根據時區來顯示的。例如,在東八區插入的TIMESTEMP數據為2023-03-11 13:57:50,在東七區顯示時,時間部分就變成了12:57:50,在東九區顯示時,時間部分就變成了14:57:50。
【5】創建數據庫表 student_class
- 建立一張用來存儲學生信息的表
- 字段包含學號、姓名、性別,年齡、入學日期、班級,email,手機號等信息
- 學號是主鍵 = 不能為空 + 唯一
- 姓名不能為空
- 性別默認值是男
- Email唯一
- 手機號唯一
(1)創建數據庫:

(2)新建查詢

(6)創建數據庫表
1、創建學生表
-- 創建數據庫表: create table student_class( sno int(6), -- 6顯示長度 sname varchar(5), -- 5個字符 sex char(1), age int(3), enterdate date, classname varchar(10), email varchar(15), phone varchar(11) );
2、查詢表結構、表數據、建表結構
-- 查看表的結構:展示表的字段詳細信息 desc student_class; -- 查看表中數據: select * from student_class; -- 查看建表語句: show create table student_class;
??
本文來自博客園,作者:蕭熙,轉載請注明原文鏈接:http://www.rzrgm.cn/xiaoxiblog/p/17202199.html

浙公網安備 33010602011771號