簡介 MySQL是一個關係型資料庫管理系統,由瑞典MySQL AB 公司開發,屬於 Oracle 旗下產品。MySQL 是最流行的關係型資料庫管理系統之一,在 WEB 應用方面,MySQL是最好的 RDBMS (Relational Database Management System,關係資料庫管 ...
簡介
MySQL是一個關係型資料庫管理系統,由瑞典MySQL AB 公司開發,屬於 Oracle 旗下產品。MySQL 是最流行的關係型資料庫管理系統之一,在 WEB 應用方面,MySQL是最好的 RDBMS (Relational Database Management System,關係資料庫管理系統) 應用軟體之一。
MySQL是一種關係型資料庫管理系統,關係資料庫將數據保存在不同的表中,而不是將所有數據放在一個大倉庫內,這樣就增加了速度並提高了靈活性。
DDL(數據定義語言)
操作資料庫
-- 查詢
show databases;
-- 創建資料庫
create database 資料庫名稱;
-- 創建資料庫(判斷,如果不存在則創建)
create database if not exists 資料庫名稱;
-- 刪除資料庫
drop database 資料庫名稱;
-- 刪除資料庫(判斷,如果存在則刪除)
drop database if exists 資料庫名稱;
-- 查看當前使用的資料庫
select database();
-- 使用資料庫
use 資料庫名稱;
操作表
-- 查詢表
show tables;
-- 查詢表結構
desc 表名稱;
-- 創建表
create table 表名稱(
欄位名1 數據類型1,
欄位名2 數據類型2,
欄位名3 數據類型3,
...
欄位名n 數據類型n
);
-- 刪除表
drop table 表名;
-- 刪除表時判斷表是否存在
drop table if exists 表名;
-- 修改表
alter table 表名 rename to 新的表名;
-- 添加一列
alter table 表名 add 列名 數據類型;
-- 修改數據類型
alter table 表名 modify 列名 新數據類型;
-- 修改列名和數據類型
alter table 表名 change 列名 新列名 新數據類型;
-- 刪除列
alter table 表名 drop 列名;
數據類型
數據類型 | 大小 | 描述 |
---|---|---|
MEDIUNINT | 3 bytes | 大整數值 |
INT或INTEGER | 4 bytes | 大整數值 |
BIGINT | 8 bytes | 極大整數值 |
FLOAT | 4 bytes | 單精度浮點數值 |
DOUBLE | 8 bytes | 雙精度浮點數值 |
DECIMAL | 小數值 | |
DATE | 3 | 日期值 |
TIME | 3 | 時間值或持續時間 |
YEAR | 1 | 年份值 |
DATETIME | 8 | 混合日期和時間值 |
TIMESTAMP | 4 | 混合日期和時間值、時間戳 |
CHAR | 0-255 bytes | 定長字元串 |
VARCHAR | 0-65535 bytes | 變長字元串 |
TINYBLOB | 0-255 bytes | 不超過255個字元的二進位字元串 |
TINYTEXT | 0-255 bytes | 短文本字元串 |
BLOB | 0-65535 bytes | 二進位形式的長文本數據 |
TEXT | 0-65535 bytes | 長文本數據 |
MEDIUMBLOB | 0-16777215 bytes | 二進位形式的中等長度文本數據 |
MEDIUMTEXT | 0-16777215 bytes | 中等長度文本數據 |
LONGBLOB | 0-4294967295 bytes | 二進位形式的極大文本數據 |
LONGTEXT | 0-4294967295 bytes | 極大文本數據 |
DML(數據操縱語言)
添加數據
-- 給指定列添加數據
insert into 表名(列名1,列名2,...) values (值1,值2,...);
-- 給全部列添加數據
insert into 表名 values (值1,值2,...);
-- 批量添加數據
insert into 表名(列名1,列名2,...) values (值1,值2,...),(值1,值2,...),(值1,值2,...)...;
insert into 表名 values (值1,值2,...),(值1,值2,...),(值1,值2,...)...;
更新數據
-- 更新數據
update 表名 set 列名1=值1, 列名2=值2;
刪除數據
-- 刪除數據
delete from 表名 where 列名1=值1;
DQL(數據查詢語言)
條件查詢
select 欄位列表 from 表名 where 條件列表;
分頁查詢
select 欄位列表 from 表名 limit 起始索引, 查詢條目數;
-- 起始索引:從0開始
-- 計算公式:起始索引=(當前頁碼-1)*每頁顯示條數
約束
概念
約束是作用於表中列上的規則,用於限制加入表的數據
約束的存在保證了資料庫中數據的正確性、有效性和完整性
分類
約束名稱 | 描述 | 關鍵字 |
---|---|---|
非空約束 | 保證列中所有數據不能有null值 | NOT NULL |
唯一約束 | 保證列中所有數據各不相同 | UNIQUE |
主鍵約束 | 主鍵是一行數據的唯一標識,要求非空白唯一 | PRIMARY KEY |
檢查約束 | 保證列中的值滿足某一條件 | CHECK |
預設約束 | 保存數據時,未指定值則採用預設值 | DEFAULT |
外鍵約束 | 外鍵用來讓兩個表的數據之間建立鏈接,保證數據的一致性和完整性 | FOREIGN KEY |