MySQL 數據庫的對庫的操作及其數據類型

1. 數據庫的操作

註意:

  • SQL 語句不區分大小寫,以下將以小寫的語句來演示
  • 每個 SQL 語句後面都要加英文的分號(個別語句不用加分號,但是推薦無腦全加)
  • [] 中括號中的語句是可選的
  • 庫名、表名、列名等等不能和關鍵字相同,如果一定要用關鍵字為名,則可以通過反引號把名字引起來

1.1 顯示數據庫

語法:

show databases;

示例:

在這裡插入圖片描述

補充:

(0.00 sec) :表示執行這條語句花費的時間,即花費瞭0.00秒

1.2 創建數據庫

語法:

create database [if not exists] 數據庫名 [create_specification [,create_specification]];

  • if not exists:表示如果系統沒有該數據庫,則新建;如果有,則不創建
  • create_specification:包含兩個內容 character set 字符集名 和 collate 數據庫字符集的校驗規則
  • 沒有指定字符集和其校驗規則時,系統默認使用的字符集是:latin1,為瞭更好的支持中文,可以修改成 utf8mb4 或者 GBK

示例一:

在這裡插入圖片描述

示例二:

在這裡插入圖片描述

示例三:

在這裡插入圖片描述

補充:

(1)其實 if not exists 這個語句很重要。因為我們現在是單行輸入,SQL 語句如果報錯,影響也不大,我們隻要重新輸入正確的就行。但是如果先將 SQL 寫到文件中,然後批量執行它,那麼隻要其中某條語句報錯瞭,後面的 SQL 語句就不能繼續執行瞭
(2)字符集: 是指多個字符的集合。不同的字符集包含的字符個數不一樣、包含的字符不一樣、對字符的編碼方式也不一樣。例如 GB2312 是中國國傢標準的簡體中文字符集,GB2312 收錄簡化漢字(6763個)及一般符號、序號、數字、拉丁字母、日文假名、希臘字母、俄文字母、漢語拼音符號、漢語註音字母,共 7445 個圖形字符。而 ASCII 字符集隻包含瞭128字符,這個字符集收錄的主要字符是英文字母、阿拉伯字母和一些簡單的控制字符。另外,還有其他常用的字符集有 GBK 字符集、GB18030 字符集、Big5 字符集、Unicode 字符集等。
(3)字符集校驗規則: 指的是字符集比較大小的時候依據的準則,比如我們比較a和B的大小,如果不考慮大小寫,那麼 a<B,如果考慮大小寫,則 a>B,也就是說,同一字符集,不同的比較規則,對某列數據的排序結果也就會產生不同。MySQL 中的字符校驗規則可以通過 show collation;語法來查看,如下:

在這裡插入圖片描述

我們可以看到,結果中一共有195中比較規則,其中,每種字符集都包含自己默認的校驗規則,我們簡單解釋一條:utf8_polish_ci 以波蘭語為規則進行對比,這個校驗規則由三個部分組成,比較規則名稱以與其關聯的字符集的名稱開頭,utf8 是指的是 utf8 字符集的比較規則,polish 指的是波蘭語,_ci 指的是不區分大小寫。
(4)MySQL 種的 utf8 編碼不是真正意義上的 utf8,因為它沒能包含某些復雜的中文字符以及一些符號,如:emoji 類表情。MySQL 真正的 utf8 字符集是 utf8mb4

1.3 選中數據庫

語法:

use 數據庫名;

示例:

在這裡插入圖片描述

1.4 刪除數據庫

語法:

drop database [if exists] 數據庫名;

示例:

在這裡插入圖片描述

補充:

刪庫其實是一件很危險的事情,emmm,進公司刪庫的話很容易進去

2. MySQL 中的數據類型

介紹:

MySQL 中定義數據字段的類型對數據庫的優化是非常重要的。 MySQL 支持多種類型,大致可以分為三類:數值、日期/時間和 字符串 (字符) 類型。 MySQL 支持所有標準 SQL 數值數據類型。

2.1 數值類型

補充:

  • 數值類型可以指定為無符號(unsigned),表示不取負數,不建議使用,官方文檔明確即將棄用
  • MySQL 的數值類型無單獨的字符類型 char,但是有字符串類型
  • 在之前寫的 剖析 C 語言數據在內存中的存儲 這篇文章中寫過關於浮點數的存儲,由於浮點數的存儲其實是一種二進制的科學計數法的方式,所以隻能精確表示如:0.5、0.25、0.125 這類的數值,其餘隻能表示一個近似值
  • Java 中的 BigDecimal 是用來精確表示浮點數的,是用瞭變長內存存儲的方式,類似於字符串。但是也付出瞭需要更多空間和時間的代價
  • 表示錢的類型: 雖然錢可以用浮點數表示,但是由於錢其實都是整數,所以可以直接用 int 類型,單位就是分

2.2 字符串類型

補充:

  • varchar(size)size 表示的是這個字符串的最大長度,單位是字符
  • 漢字是一個字符,但不一定是一個字節
  • text 沒有參數,會根據用戶插入的數據來動態確定占用的空間
  • 前三個字符串類型都是保存的文本類型的數據,blob 是保存的二進制類型的數據
  • 二進制的數據例如:圖片、mp3、視頻、worldpptexcel、.class 文件等等
  • 表示圖片的類型: 雖然圖片是二進制類型的數據,但是由於 blob 能夠存儲數據的最大值為 64k,所以很多圖片不使用,因此可以將圖片以文件的形式放到硬盤,然後在數據庫中記錄這個圖片的路徑,這時就可以用一個字符串類型就輕松搞定瞭

2.3 日期類型

補充:

timestamp 意為時間戳,時間戳是一種計算機表示時間的方式,如:

在這裡插入圖片描述

註意:2038年這個 timestamp 類型就用不瞭,因此推薦寫代碼的時候使用 datetime

到此這篇關於MySQL 數據庫的對庫的操作及其數據類型的文章就介紹到這瞭,更多相關MySQL 對庫操作及其數據類型內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: