首頁 > 軟體

MySQL建立資料庫和建立資料表

2023-03-23 22:05:23

MySQL 建立資料庫和建立資料表

MySQL 是最常用的資料庫,在資料庫操作中,基本都是增刪改查操作,簡稱CRUD。

在這之前,需要先安裝好 MySQL ,然後建立好資料庫、資料表、操作使用者。

一、資料庫操作語言

資料庫在操作時,需要使用專門的資料庫操作規則和語法,這個語法就是 SQL(Structured Query Language) 結構化查詢語言。

SQL 的主要功能是和資料庫建立連線,進行增刪改查的操作。SQL是關係型資料庫管理系統的標準語言。

SQL 語言的作用:

1. 資料定義語言 DDL(Data Definition Language) 。用於建立資料庫,資料表。

2. 資料操作語言 DML(Data Manipulation Language) 。用於從資料表中插入、修改、刪除資料。

3. 資料查詢語言 DQL(Data Query Language) 。用於從資料表中查詢資料。

4. 資料控制語言 DCL(Data Control Language) 。用來設定或修改資料庫使用者或角色的許可權。

使用 SQL 運算元據庫時,所有的 SQL 語句都以分號結束。(切換資料庫時可以不用分號)

在 SQL 語句中,不區分大小寫,編寫 SQL 語句時可以根據情況用大小寫的區別來增加可讀性。

二、建立資料庫

1. 連線 MySQL

輸入 mysql -u root -p 命令,回車,然後輸入 MySQL 的密碼(不要忘記了密碼),再回車,就連線上 MySQL 了。

mysql -u root -p

最初,都是使用 root 使用者登入,工作中如果一直用 root 使用者登入,因為許可權太大,風險是很大的,所以等建立好許可權適合的使用者後,就不要經常登入 root 使用者了。

2. 檢視當前的資料庫

使用 show databases; 檢視當前安裝的 MySQL 中有哪些資料庫。

show databases;

剛安裝 MySQL 時,預設有四個資料庫,information_schema,mysql,perfomance_schema,sys 。通常情況下,我們不會直接使用這四個資料庫,但千萬不要把這四個資料庫刪了,否則會帶來很多不必要的麻煩。如果不小心刪了,建議是重新安裝 MySQL ,在重灌之前把自己的資料遷移出來備份好,或者從其他伺服器上遷移一個相同的資料庫過來。

3. 建立資料庫

使用 create database 資料庫名; 建立資料庫。

create database MyDB_one;

建立資料庫成功後,資料庫的數量變成了5個,多了剛才建立的 MyDB_one 。

4. 建立資料庫時設定字元編碼

使用 create database 資料庫名 character set utf8; 建立資料庫並設定資料庫的字元編碼。

create database MyDB_two character set utf8;

直接建立的資料庫,資料庫的編碼方式是 MySQL 預設的編碼方式 latin1 (單位元組編碼) ,通常我們會在資料庫中存放中文資料,所以最好把資料庫的編碼方式設定成 utf-8 ,這樣中文才能正常顯示。

create database MyDB_three charset utf8;

character set 可以縮寫成 charset ,效果是一樣的。

5. 檢視和顯示資料庫的編碼方式

使用 show create database 資料庫名; 顯示資料庫的建立資訊。

show create database MyDB_one;
show create database MyDB_two;

如果不知道一個資料庫的編碼方式是什麼,可以使用 show create database 資料庫名 來檢視資料庫的編碼方式。可以看到剛才建立的 MyDB_one 的編碼方式是 MySQL 的預設編碼 latin1 ,MyDB_two 的編碼方式是 utf-8 。

當然,這種方式不能在建立的同時顯示,只能檢視一個已經存在的資料庫的編碼方式。

6. 使用 alter database 資料庫名 character set utf8; 修改資料庫編碼

alter database MyDB_one character set utf8;

如果一個資料庫的編碼方式不符合使用需求,可以進行修改。剛才建立的 MyDB_one 經過修改後,編碼方式也變成了 utf-8 。

7. 進入或切換資料庫

使用 use 資料庫名 進入或切換資料庫。

use MyDB_one
use MyDB_two;

剛連線上 MySQL 時,沒有處於任何一個資料庫中,如果要使用某一個資料庫,就需要進入到這個資料庫中。

use 資料庫名 這個命令後面的分號可以省略,這是 SQL 語句中唯一可以省略分號的語句。

8. 顯示當前資料庫 select database();

select database();

進入資料庫中,可以使用 select database(); 來檢視當前處於哪個資料庫中。長時間運算元據庫時,在很多資料庫中來回切換後,檢視當前的資料庫,避免操作錯了資料庫。

三、建立資料表

1. 檢視當前資料庫中的表

使用 show tables;檢視當前資料庫中有哪些表。

show tables;

在剛才建立的資料庫 MyDB_one 中,還沒有建立任何表,所以當前是空的。

2. 建立表

使用 create table 表名(欄位1 欄位型別,欄位2 欄位型別,欄位3 欄位型別,…); 來建立一張表。

create table Phone_table(pid INT, name CHAR(20), price INT);

在 MyDB_one 中建立了一個叫 Phone_table 的資料表,這張表有三個欄位 pid,name,price 。為了增加 SQL 的可讀性,欄位名我用的是小寫,欄位型別用大寫。

3. 顯示錶資訊

用 show create table 表名; 來顯示已建立的表的資訊。

show create table Phone_table;

使用 show create table 表名;  可以顯示錶的欄位資訊, MySQL 的引擎,和預設的字元編碼等資訊。與顯示資料庫資訊一樣,show 只能顯示已經建立了的資料表的資訊,不能在建立的同時顯示資訊。

如果想更好地展示表的欄位資訊,可以使用 desc 表名; 來顯示錶的欄位資訊。

4. 給表增加欄位

使用 alter table 表名 add 欄位名 資料型別; 為已存在的表新增一個新欄位。

alter table Phone_table add color CHAR(20);

新增後,剛才的表中多了一個欄位,新增成功。

5. 刪除表的欄位

使用 alter table 表名 drop 欄位名; 刪除一個表中已存在的欄位。

alter table Phone_table drop price;

刪除欄位後,表中不再有該欄位。

6. 修改欄位的資料型別

使用 alter table 表名 modify 欄位名 資料型別; 修改表中現有欄位的資料型別。

alter table Phone_table modify name VARCHAR(12);

修改之後,該欄位的資料型別發生改變。

7. 修改欄位的資料型別並且改名

使用 alter table 表名 change 原欄位名 新欄位名 資料型別; 修改表中現有欄位的欄位名和型別。

alter table Phone_table change name pname CHAR(18);

現在,將表的 name 改成了 pname ,同時修改了 pname 的資料型別。

四、MySQL 常用欄位型別

一個資料表是由若干個欄位組成的,一個表十幾個欄位也很正常,每個欄位表示不同的資訊,需要使用不同型別的資料。

所以在建立表的時候,要為每個欄位指定適合的資料型別。

MySQL 中常用的欄位型別有以下這些:

1. 整數型別

資料型別資料範圍
TINYINT-128 -- 127
SMALLINT-32768 -- 32767
MEDIUMINT-2^23 -- 2^23-1
INT-2^31 -- 2^31-1
BIGINT-2^63 -- 2^63-1

2. 字串型別

資料型別位元組範圍用途
CHAR(n)0 -- 255位元組定長字串
VARCHAR(n)0 -- 65535位元組變長字串
TEXT0 -- 65535位元組長文字資料
LONGTEXT0 -- 2^32-1位元組極大文字資料
BLOB0 -- 65535位元組二進位制長文字資料
LONGBLOB0 -- 2^32-1位元組二進位制極大文字資料

3. 小數型別

m 表示浮點數的總長度,n 表示小數點後有效位數。

資料型別資料用法資料範圍
FloatFloat(m,n)7位有效數
DoubleDouble(m,n)15位有效數
DecimalDecimal(m,n)28位元有效數

4. 時間型別

資料型別格式用途
DATEYYYY-MM-DD日期
TIMEHH:MM:SS時間
YEARYYYY年份
DATETIMEYYYY-MM-DD HH:MM:SS日期和時間
TIMESTAMP10位或13位整數(秒數)時間戳

5. 列舉型別

enum(列舉值1,列舉值2,...)

列舉型別只能在列出的值中選擇一個,如性別。

到此這篇關於MySQL建立資料庫和建立資料表的文章就介紹到這了,更多相關資料庫和資料表的建立內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com