天天看點

《Unix/Linux系統程式設計》第十四章學習筆記學習筆記

學習筆記

20191318 王澤文

  《Unix/Linux系統程式設計》

第十四章 MySQL資料庫系統

  這一章讨論了MySQL關系資料庫系統;介紹了 MySQL并指出了它的重要性;展示了如何在Linux機器上安裝和運作MySQL;示範了如何使用MySQL在指令模式和批處理模式 下使用SQL腳本建立和管理資料庫,如何将MySQL與PHP內建,通過動态Web頁面建立和管理資料庫。

  MySQL

  MySQL是一個關系資料庫系統。在關系資料庫中,資料存儲在表中。每個表由多個行和列組成。表中的資料互相關聯。表也可能與其他表有關聯。關系結構使得可在表上運作查詢來檢索資訊并修改資料庫中的資料。

  MySQL是一個開源資料庫管理系統,由伺服器和客戶機組成。在将客戶機連接配接到伺服器後,使用者可向伺服器輸入SQL指令,以便建立資料庫,删除資料庫,存儲、組織和檢索資料庫中的資料。- -- MySQL有廣泛的應用。除了提供标準的資料庫系統服務外,MySQL 和PHP已成為大多數資料管理和線上商務網站的主幹網。

  MySQL安裝

  在Ubuntu中可通過以下指令安裝:

sudo apt-get install mysql-server
 mysql_secure_installation
           

  資料庫操作

  1. 連接配接MYSQL:
mysql -u root -p
Enter password:
mysql>
           

MSE2hvPWK9cW8u1x

  1. 顯示資料庫:SHOW DATABASES指令可顯示MySQL中的目前資料庫
  2. 建立資料庫:CREATE DATABASE dbname 建立一個名為dbname的資料庫,如果資料庫已經存在,則可以使用IF NOT EXISTS子句對指令限定。
  3. 删除資料庫:DROP DATABASE dbname 删除已存在的命名資料庫,該指令可以用一個可選的IF EXISTS 子句限定。
  4. 選擇資料庫:USE dbname指令選擇一個資料庫
  5. 建立表:CREATE TABLE table_name 指令回在目前資料庫中建立一個表;DESCRIBE 指令顯示表格式和列屬性。
  6. 删除表:DROP TABLE table_name 指令删除表

  Mysql中的資料類型

  1. 數值類型:
    1. INT:整數(4位元組),TINYINT:(1位元組)S,MALLINT:(2位元組)等。
    2. FLOAT:浮動指針數。
  2. 字元串類型:
    1. CHAR(size):固定長度字元串,長度為1~255字元。
    2. VARCHAR(size):可變長度字元串,但不能使用任何空格。
    3. TEXT:可變長度的字元串。
  3. 日期和時間類型:
    1. DATE:日期格式為YYYYMM-DD。
    2. TIME:以HHMMSS格式儲存時間.

  資料表操作

  1. 插入行:
要在表中添加行,可使用INSERT命名,具有文法形式:

INSERT INTO table_name VLAUES(columnValuel,columnValue2,....);

  1. 删除行:
使用DELETE指令從表中删除行

DELETE FROM table_name;

DELETE FROM table_name WHERE condition;

  1. 更新表:
UPDATE指令用于修改表中的現有記錄(列)

UPDATE table_name SET coll = value1, col2 = value2,…… WHERE condition;

  1. 修改表:

ALTER TABLE

指令用于添加、删除或修改目前表中的列。它還用于添加和删除目前表中的各種限制條件。
  1. 修改表名
  1. 如需修改表名,可使用以下指令:

    ALTER TABLE table name renAme To new_name;

  2. 添加列 要在表中添加列,可使用以下指令:

    ALTER TABLE table name ADD column name datatype;

  3. 删除行 可使用以下指令删除列:

    ALTER TABLE table name DROP column name datatype;

  4. 更改/修改行 可使用以下指令修改表中某列的資料類型:

    ALTER TABLE table name ALTER COLUNN column_name datatype;

其他

實踐

  

![](https://img2020.cnblogs.com/blog/1812752/202112/1812752-20211212183727363-839065521.png)