數據庫的基本概念
- 數據庫的英文名稱:database,簡稱:DB。
- 什麼是數據庫:用於存儲和管理數據的倉庫
- 數據庫的特點:
- 持久化存儲數據
- 方便存儲和管理數據
- 使用了統一的方式操作數據庫
- 常見的數據庫軟件:
- MySQL
- Oracle
- DB2
- SQLServer
- SQLite
MySQL
- 安裝
MySQL官網 - 卸載
- 配置
SQL
- SQL通用語法
- SQL語句可以單行或多行書寫,以分號結尾。
- 可以使用空格或縮進來增強語句的可讀性。
- SQL語句不區分大小寫,關鍵字建議使用大寫。
- 3種註釋
單行註釋:-- 註釋 或 # 註釋 (MySQL特有)
多行註釋:/* 註釋 */
- SQL分類
- DDL(Data Definition Language)數據定義語言
用來定義數據庫對象:數據庫、表、列等。
關鍵字:create、drop、alter等 - DML(Data Manipulation Language)數據操作語言
用來對數據庫中表的數據進行增刪改。
關鍵字:insert、delete、update等 - DQL(Data Query Language)數據查詢語言
用來查詢數據庫中表的記錄(數據)。
關鍵字:select、where等 - DCL(Data Control Language)數據控制語言
用來定義數據庫的訪問權限和安全級別,及創建用戶。
關鍵字:GRANT、REVOKE等
- DDL(Data Definition Language)數據定義語言
DDL
- 操作數據庫:CRUD
- C(Create):創建
- 創建數據庫:create database 名稱;
- 創建數據庫,判斷是否存在:create database 名稱 if not exists;
- 創建數據庫,並指定字符集:create database 名稱 character set 名稱;
- 創建數據庫,判斷是否存在,並指定字符集:create database if not exists 名稱 character set 字符集;
- R(Retrieve):查詢
- 查詢所有數據庫的名稱:show databases;
- 查看某個數據庫的字符集:show create database 數據庫名稱;
- U(Update):修改
- 修改數據庫的字符集:alter database 數據庫名稱 character set 字符集;
- D(Delete):刪除
- 刪除數據庫:drop database 數據庫名稱;
- 刪除數據庫,判斷是否存在:drop database if exists 數據庫名稱;
- 使用數據庫
- 查詢當前正在使用的數據庫:select database();
- 使用數據庫:use 數據庫名稱;
- C(Create):創建
- 操作表:
- C(Create):創建
- 語法:
create table 表名(
列名1 數據類型1,
列名2 數據類型2,
…
列名n 數據類型n
);- 注意:最後一列不加逗號
- 數據類型:
- int:整數類型
- double:小數類型(位數,小數點後位數)
- date:日期,年月日,yyyy-MM-dd
- datetime: 日期,年月日時分秒,yyyy-MM-dd HH:mm:ss
- timestamp:時間戳,年月日時分秒(自動賦值)
- varchar:字符串(最大長度)
- 複製表:
create table 表名 like 被複制的表名;
- 語法:
- R(Retrieve):查詢
- 查詢某個數據庫中所有表的名稱
- show tables;
- 查詢表結構
- desc 表名;
- 查詢某個數據庫中所有表的名稱
- U(Update):修改
- 修改表名 alter table 表名 rename to 新的表名;
- 修改字符集 alter table 表名 character set 字符集;
- 添加列 alter table 表名 add 列名 數據類型;
- 修改列
alter table 表名 change 列名 新列名 新數據類型;
alter table 表名 modify 列名 新數據類型; - 刪除列 alter table 表名 drop 列名;
- D(Delete):刪除
- drop table 表名;
- drop table if exists 表名;
- C(Create):創建