1. 程式人生 > 資料庫 >MYSQL知識(一)

MYSQL知識(一)

資料庫

資料庫分類

  1. 關係型資料庫  SQL

 簡單的二元關係,二維表格

MySQL  網際網路

Oracle 電信公司

SQL Sever 各個公司都可能會用

DB2

SQLLITE  APP

  1. 非關係型資料庫 NOSQL

高併發軟體,對資料庫IO,效能上要求較高

Hbase

redis

資料庫管理軟體

DBMS  database management sysytem

  1. 對資料庫的操作與管理是通過DBMS完成的
  2. 主流DBMS:Oracle,MySQL,sql server

架構

客戶機-服務機 模型  c/s

客戶端:傳送請求給服務端

服務端:對請求進行處理,並作為響應傳送給客戶端

特點

  1. 資料以表格的形式存在
  2. 一行為一條記錄
  3. 一列為一個欄位
  4. 行和列組成表
  5. 若干表單作為資料庫
  6. 可執行多個系統,支援多種語言
  7. 分社群版和商業版,社群版開源,免費

資料表

  1. 表名:唯一的名字標識該表
  2. 表定義如何儲存(資料型別,資料如何分解,各部分資訊如何命令)

表結構

  1. 表由列組成,列中儲存著某部分資訊
  2. 所有表==多個列組成
  3. 一行一條記錄,一列一個欄位
  4. 定義表名稱,欄位列名字,資料型別,長度,是否為空,主鍵,外來鍵,索引

SQL語言

結構化查詢語言,與資料庫進行通訊

特點:

  1. 不區分大小寫
  2. 關鍵字,欄位名,表名
  3. 以;結尾
  4. 可以寫一行,也可以分開寫

啟動,關閉MYSQL

LINUX

啟動:service mysqld start

關閉:service mysqld stop

檢視狀態:service mysqld

Windows

啟動:net start mysql

關閉:net stop mysql

登入SQL

Mysql -u 使用者名稱 -p 密碼 -P 埠號

 

MySQL客戶端工具

Workbench

Sqlyog

nalicat

庫相關操作

 #1.檢視資料庫

 SHOW DATABASES;

 #2.新建資料庫

 CREATE DATABASE 庫名 DEFAULT CHARACTER SET='utf8';

 #3.刪除資料庫

 DROP DATABASE 庫名

 #4.使用資料庫

 USE 庫名

表相關操作

# 查看錶

SHOW TABLES;

# 建立表

CREATE TABLE 表名(

  id INT,

  stu_name VARCHAR(20),

  age INT

);

# 查看錶的結構

DESC 表名;

# 刪除

DROP TABLE 表名;

常見約束

約束條件:資料型別之外對欄位額外的限制,保證資料完整性和正確性

常見:

Not null 非空

Unique 唯一約束(不能重複,但可以為空)

Primary key 主鍵,不能為空,不能重複

Foreign key 外來鍵

Default 為欄位設定預設值

Auto_increment 值自動增長,整數型別且為主鍵

外來鍵 foreign key

  1. 用於關聯兩張表
  2. 表中的外來鍵值用於引用主表中的主鍵值
  3. 表中的一列同時也是另一個表的主鍵,保證資料的完整性
  4. 防止非法資料錄入

外來鍵的功能由兩種方式實現

  1. 阻止執行 restrict

設定主外來鍵的關聯,主外來鍵的值必須保持一致

保證資料的安全性,一致性

  1. 聯級執行  cascade

主表刪除行,連帶從表一起刪除

主表修改值,連帶從表一起修改

 

建立外來鍵指定更新和刪除:

Cascade:級聯執行

Restrict:阻止執行(預設)

外來鍵

Foreign key 外來鍵欄位名 references 主表名(主表主鍵欄位名)

列約束:表中欄位後附加的約束

表級約束:表中所有欄位完成後附加的約束

 

檢視外來鍵:desc

表格中的欄位標誌:在列欄位邊上有兩個疊加的框