20191302第十四章學習筆記
阿新 • • 發佈:2021-12-12
第十四章 MySQL資料庫系統
- 這一章討論了MySQL關係資料庫系統;介紹了 MySQL並指出了它的重要性;展示瞭如何在Linux機器上安裝和執行MySQL;演示瞭如何使用MySQL在命令模式和批處理模式 下使用SQL指令碼建立和管理資料庫,如何將MySQL與PHP整合,通過動態Web頁面建立和管理資料庫。
MySQL簡介
- MySQL是一個關係資料庫系統在關係資料庫中,資料儲存在表中。每個表由多個行和列組成。表中的資料相互關聯。表也可能與其他表有關聯。關係結構使得可在表上執行查詢來檢索資訊並修改資料庫中的資料。
- MySQL是一個開源資料庫管理系統,由伺服器和客戶機組成。在將客戶機連線到伺服器後,使用者可向伺服器輸入SQL命令,以便建立資料庫,刪除資料庫,儲存、組織和檢索資料庫中的資料。- -- MySQL有廣泛的應用。除了提供標準的資料庫系統服務外,MySQL 和PHP已成為大多數資料管理和線上商務網站的主幹網。
安裝與使用MySQL
- Ubuntu Linux 可通過以下命令安裝
sudo apt-get install mysql-server
mysql_secure_installation
-
Slackware Linux在Slackware 14.0或更早版本中,可通過以下步驟配置MySQL:
1.設定my.cnf : MySQL在啟動時載入一個名為my.cnf的配置檔案。該檔案要在首次設定MySQL時建立。在/etc目錄中,有幾個示例my.cnf檔案,檔名分別是my-small. cnf. my-large.cnf等。選擇所需的版本來建立my.cnf檔案,如
cp /etc/my-small.cnf /etc/my.cnf
2.安裝所需資料庫:MySQL需要一個所需資料庫集,用於使用者識別等。要安裝它們, 可使用mysql使用者作為超級使用者,並使用以下命令安裝所需的初始資料庫。
mysql_install_db
3.設定所需的系統許可權:該步驟確保mysql使用者擁有mysql系統的所有權。
chown -R inysql.mysql /var/lib/mysql
4.通過以下操作使Zetc/rc.d/rc.mysqld可執行:
chmod 7S5 /etc/rc.d/rc.mysqld
- 這將在後續系統引導上自動啟動MySQL守護程序mysqld。
-
資料庫操作
- 連線MYSQL伺服器:
mysql -u root -p Enter password: mysql>
-
顯示資料庫:SHOW DATABASES命令可顯示MySQL中的當前資料庫
-
新建資料庫:CREATE DATABASE dbname 建立一個名為dbname的資料庫,如果資料庫已經存在,則可以使用IF NOT EXISTS子句對命令限定。
-
刪除資料庫:DROP DATABASE dbname 刪除已存在的命名資料庫,該命令可以用一個可選的IF EXISTS 子句限定。
-
選擇資料庫:USE dbname命令選擇一個數據庫
-
建立表:CREATE TABLE table_name 命令回在當前資料庫中建立一個表;DESCRIBE 命令顯示錶格式和列屬性。
-
刪除表:DROP TABLE table_name 命令刪除表
-
Mysql中的資料型別
- 數值型別:
- INT:整數(4位元組),TINYINT:(1位元組)S,MALLINT:(2位元組)等。
- FLOAT:浮動指標數。
- 字串型別:
- CHAR(size):固定長度字串,長度為1~255字元。
- VARCHAR(size):可變長度字串,但不能使用任何空格。
- TEXT:可變長度的字串。
- 日期和時間型別:
- DATE:日期格式為YYYYMM-DD。
- TIME:以HHMMSS格式儲存時間.
- 數值型別:
-
Mysql中的資料操作
- 插入行:
- 要在表中新增行,可使用INSERT命名,具有語法形式:
INSERT INTO table_name VLAUES(columnValuel,columnValue2,....);
- 要在表中新增行,可使用INSERT命名,具有語法形式:
- 刪除行:
- 使用DELETE命令從表中刪除行
- 插入行:
DELETE FROM table_name;
DELETE FROM table_name WHERE condition;
- 更新表:
- UPDATE命令用於修改表中的現有記錄(列)
UPDATE table_name SET coll = value1, col2 = value2,…… WHERE condition;
- UPDATE命令用於修改表中的現有記錄(列)
- 修改表:
- ALTER TABLE命令用於新增、刪除或修改當前表中的列。它還用於新增和刪除當前表中的各種約束條件。
- 修改表名
- 如需修改表名,可使用以下命令:
ALTER TABLE table name renAme To new_name;
- 新增列 要在表中新增列,可使用以下命令:
ALTER TABLE table name ADD column name datatype;
- 刪除行 可使用以下命令刪除列:
ALTER TABLE table name DROP column name datatype;
- 更改/修改行 可使用以下命令修改表中某列的資料型別:
ALTER TABLE table name ALTER COLUNN column_name datatype;
- 關聯表
- 一個真正的資料庫可以能包含多個相互關聯的表,使用主鍵-外來鍵約束條件來定義表關係。
- 一對一
- 一對多
- 多對多
- 自引用
- 一個真正的資料庫可以能包含多個相互關聯的表,使用主鍵-外來鍵約束條件來定義表關係。
- 連線操作
- 在MySQL中,可使用連線操作在多個表中檢索資料。連線操作有4種不同的型別。
- (INNER)JOIN tablel,table2:檢索兩個表中共有的項。
- LEFT JOIN tablel,table2:檢索表1中的項以及兩個表中共有的項。
- RIGHT JOIN tablel,table2:檢索表2中的項以及兩個表中共有的項。
- OUTER JOIN tabell, table2:檢索兩個表中非共有以及沒有用的項。
- 對於正則集運算,MySQL中的連線操作可以解釋如下。+表示兩個集合的並集,^表示兩個集合的交集。則有
- (INNER) JOIN t1, t2 = t1 ^ t2
- LEFT JOIN t1, t2 m t1 + (t1 ^ t2)
- RIGHT JOIN t1, t2 = t2 +(t1 ^ t2)
- OUTER JOIN t1, t2 = t1 + t2;
- 在MySQL中,可使用連線操作在多個表中檢索資料。連線操作有4種不同的型別。
- 如需修改表名,可使用以下命令:
實踐
- 新建資料庫
- 刪除資料庫