從零開始學 MySQL -- 創建資料庫並插入數據

2021-02-20 herongwei

閱讀本文大概需要 8.88 分鐘

上篇文章介紹了學習 MySQL 的重要性,那麼從今天開始,咋們就正式進入 MySQL 的學習之路了,話不多說,一起來學習吧!

介紹 MySQL 新建資料庫,新建表,插入數據以及基本數據類型的相關知識。

在 Linux 環境裡創建一個名為 mysql_shiyan 的資料庫。

在資料庫創建兩張表 employee 和 department,分別表示員工表和部門表。


2、知識點

3、準備

在使用 Linux 環境進行本次學習之前,先用以下兩條命令打開 MySQL 服務並使用 root 登錄:

# 打開 MySQL 服務sudo service mysql start
#使用 root 用戶登錄,密碼為空mysql -u root -p

後續的步驟都在 MySQL 的控制臺輸入命令進行操作。

首先,我們創建一個資料庫,給它取一個名字,比如 mysql_shiyan,後續的步驟也是對 mysql_shiyan 這個資料庫來進行操作。注意語句格式為 CREATE DATABASE <資料庫名字>;(注意不要漏掉分號 ;),前面的 CREATE DATABASE 也可以使用小寫,具體命令為:
CREATE DATABASE mysql_shiyan;

創建成功後輸入命令 show databases; (注意不要漏掉;)檢查一下:

在大多數系統中,SQL 語句都是不區分大小寫的,因此以下語句都是合法的:

CREATE DATABASE name1;create database name2;CREATE database name3;create DAtabaSE name4;

為了養成嚴謹的習慣,尤其是初學者,而且便於區分保留字(保留字(reserved word):指在高級語言中已經定義過的字,使用者不能再將這些字作為變量名或過程名使用。)和變量名,建議平時就注意下,一般把保留字大寫,把變量和數據小寫。

3.2 連接資料庫

接下來的操作,就在剛才創建的 mysql_shiyan 中進行,由於一個系統中可能會有多個資料庫,要確定當前是對哪一個資料庫操作,需要使用語句 use <資料庫名字>:

如下圖顯示,則表示資料庫連接成功。

輸入命令 show tables; 可以查看當前資料庫裡有幾張表,現在mysql_shiyan 裡目前還是空的,因為沒有插入數據。

3.3 數據表

數據表(table)簡稱表,它是資料庫最重要的組成部分之一。資料庫只是一個框架,表才是其中的實質內容。這個也好理解,因為我們實際上是操作資料庫裡的數據表的數據。

而一個資料庫中一般會有多張表,這些各自獨立的表通過建立關係被聯接起來,才成為可以交叉查閱、一目了然的資料庫。

3.4 新建數據表

在資料庫中新建一張表的語句格式為:

CREATE TABLE 表的名字(列名a 數據類型(數據長度),列名b 數據類型(數據長度),列名c 數據類型(數據長度));

接下來,我們試著在 mysql_shiyan 中新建一張表 employee,表示員工表,包含姓名,ID 和電話信息,語句參考如下:

CREATE TABLE employee (id int(10),name char(20),phone int(18));

然後再創建一張表 department,表示部門表,包含名稱和電話信息,為了讓命令看起來更整潔,你也可以在 MySQL 終端裡這樣輸入命令:

這時候執行 show tables; 命令,就能看到剛才添加的兩張表:

3.5 數據類型

在剛才新建表的過程中,我們提到了數據類型,MySQL 的數據類型和其他程式語言大同小異,下表是一些 MySQL 常用數據類型:

整數除了 INT 外,還有 TINYINT、SMALLINT、MEDIUMINT、BIGINT。

對於初學者來說,有幾個區別需要在這裡說一下,這裡可以簡單做個了解,為後面的知識點的學習打下基礎:

CHAR 和 VARCHAR 的區別

CHAR 的長度是固定的,而 VARCHAR 的長度是可以變化的,比如,存儲字符串 「abc",對於 CHAR(10)來說,表示存儲的字符將佔 10 個字節(包括 7 個空字符);

而同樣的對於 VARCHAR(12) 來說則只佔用4個字節的長度,增加一個額外字節來存儲字符串本身的長度,12 只是最大值,當你存儲的字符小於 12 時,按實際長度存儲。

ENUM和SET的區別:ENUM 類型的數據的值,必須是定義時枚舉的值的其中之一,即單選,而 SET 類型的值則可以多選。

有興趣的,想要了解更多關於 MySQL 數據類型的信息,可以閱讀 MySQL的官方文檔:

https://dev.mysql.com/doc/ 

或者其它文章,這裡就不囉嗦了。

3.6 插入數據

剛才我們新建了兩張表,使用語句 SELECT * FROM employee; 查看表中的內容,可以看到 employee 表中現在還是空的:

我們通過 INSERT 語句向表中插入數據,語句格式為:

INSERT INTO 表的名字(列名a,列名b,列名c) VALUES(值1,值2,值3);

我們試試向 doubi 表中加入 xiaobai、xiaolan 和 xiaohong:

INSERT INTO doubi(id,name,phone) VALUES(01,'xiaobai',110110110);INSERT INTO doubi VALUES(02,'xiaolan',119119119);INSERT INTO doubi(id,name) VALUES(03,'xiaohong');

聰明的朋友可能已經注意到了,有的數據需要用單引號括起來,比如 xiaobai、xiaolan 和 xiaohong 的名字。這是由於它們的數據類型是 CHAR 型。

此外VARCHAR,TEXT,DATE,TIME,ENUM 等類型的數據也需要單引號修飾,而 INT,FLOAT,DOUBLE 等則不需要。

我們可看到,第一條語句比第二條語句多了一部分:(id,name,phone) 這個括號裡列出的,是將要添加的數據 (01,'xiaobai',110110110) 其中每個值在表中對應的列。

而第三條語句只添加了 (id,name) 兩列的數據,所以接下來查詢的時候,可以看到表中 xiaohong 的 phone 為 NULL。

現在我們再次使用語句 SELECT * FROM doubi; 查看 doubi 表,可見 xiaobai 和 xiaolan 的相關數據已經保存在其中了:

4、總結

經過本次的實驗學習,我們已經有了一個名為 mysql_shiyan 的資料庫,在資料庫裡面,有兩張表,並且在其中一張表中插入了一些數據。

建議大家跟著系列文章,務必完整地在自己的環境中操作一遍,光看不練假把式,在實踐中,一步步來熟練 SQL 語句的使用。今天的學習就到這裡啦。

如果大家在閱讀的過程中,有什麼建議和看法,非常歡迎在下方留言,每個留言我都會認真看的


推薦閱讀:

從零開始學習 MySQL 系列--基礎三劍客

在宇宙中心五道口上班,是怎樣一種體驗

入職半個月的一些思考

認真的人,自帶光芒!

原創不易點個在看哦

相關焦點

  • 考前複習必備MySQL資料庫(關係型資料庫管理系統)
    初始化的過程創建元數據表數據目錄創建root用戶mysql提供資料庫命令:mysql --initialize進行初始化初始化完成後,可以啟動資料庫,啟動資料庫有兩種方式。利用windows伺服器管理界面啟動;利用mysql命令啟動。
  • MYSQL資料庫操作案例
    MySQL 創建資料庫CREATE DATABASE 資料庫名;以下命令簡單的演示了創建資料庫的過程,數據名為 RUNOOB:[root@host]# mysql -u root -p >例如刪除名為 RUNOOB 的資料庫:mysql> drop database RUNOOB;MySQL 選擇資料庫以下實例選取了資料庫 RUNOOB:[root@host]# mysql -u root -p
  • 【用binlog日誌】恢復 MySQL 資料庫刪除數據
    1)二進位日誌索引文件(文件名後綴為.index):用於記錄所有的二進位文件;2)二進位日誌文件(文件名後綴為.00000*):記錄資料庫所有的DDL和DML(除了數據查詢語句select)語句事件。binlog日誌對於mysql資料庫來說是十分重要的。
  • 如何使用MySQL資料庫
    如下圖:查看mysql庫中包含的所有表。MySQL資料庫的數據文件存放在/usr/local/mysql/data目錄下,每個資料庫對應一個子目錄,用於存儲數據表文件。每個數據表對應三個文件,擴展名分別為「.frm」、「.myd」和「.myi」。
  • MySQL mysqldump 數據導出詳解
    語法:默認不帶參數的導出,導出文本內容大概如下:創建資料庫判斷語句-刪除表-創建表-鎖表-禁用索引-插入數據-啟用索引-解鎖表。tmp/user.sql3.導出db1中的a1、a2表注意導出指定表只能針對一個資料庫進行導出,且導出的內容中和導出資料庫也不一樣,導出指定表的導出文本中沒有創建資料庫的判斷語句,只有刪除表-創建表-導入數據mysqldump -uroot -proot --databases db1 --tables a1
  • Python 操作MySQL資料庫
    資料庫並創建號表、欄位。(詳細步聚這篇就省略了) 第二步:mysqlclient-1.3.12-cp36-cp36m-win_amd64.whl安裝命令:pipinstall mysqlclient-1.3.12-cp36-cp36m-win_amd64.whl
  • MySQL資料庫常用命令詳解
    從圖3-45可以看出,執行該命令後,終端窗口顯示了當前MySQL下有四個資料庫,分別是information_schema\mysql\performance_schema\sys\,這四個資料庫都是系統資料庫。
  • MySQL資料庫Insert語句7種寫法
    簡介很多開發人員工作了幾年之後,都會自嘲,自己啥技術都沒學到,就會CRUD,可是我要說的是,CRUD你真的都會嗎,你在MySQL資料庫中,會幾種insert語句寫法呢。在這裡我會7種寫法,下面我就來給大家分別介紹一下。
  • mysql資料庫,如何處理重複的數據?
    其實解決能否插入重複數據的問題,一般情況下是有兩個思路,就像治水一樣,第一個就是從源頭,第二個就是在水流經的路上。我們帶著這兩種思路繼續往下看:問題 在我們的mysql資料庫中,經常會出現一些重複的數據,有些情況我們允許重複數據的存在,但有時候我們也需要刪除這些重複的數據。我們如何去處理呢?
  • Java開發工程師如何在Mysql資料庫中創建表
    首先我們需要在資料庫中創建兩張表用來學習MyBatis對資料庫增刪改查的使用方法。如果是新安裝的資料庫可以直接複製我下面的sql進行表創建,如果是已使用中的資料庫可能表明會與我的表名衝突,需要創建一個新的database再執行sql,也可以直接刪除原來的表,如果表有外鍵關聯需要先解除外鍵約束再刪除。
  • python對mysql資料庫的操作(一)
    python操作mysql會使用到很多的方法,具體總結經常使用的,見如下的:connect():連接mysql 的資料庫commit():提交rollback():回滾fetchone():返回一條語句fetchall():返回所有語句fetchmany():返回多條數據close():關閉資料庫
  • 數據科學家讀書會——從零開始學習大數據資料庫之MySQL
    經過多名專家級導師的認真探討與多期項目的經驗積累與調整,我們有效結合了基礎知識講授與大量的實戰練習,幫助各位學員從零起步,一步步的成長為專業的數據科學家。開設Data Scientist求職訓練營5年來,已為全球知名企業輸送千名以上優秀Data Scientist。新一期課程2020年5月30日開課,感興趣的同學不要錯過。
  • 使用mysql資料庫,遇到重複數據怎麼處理?
    其實解決能否插入重複數據的問題,一般情況下是有兩個思路,就像治水一樣,第一個就是從源頭,第二個就是在水流經的路上。我們帶著這兩種思路繼續往下看:問題 在我們的mysql資料庫中,經常會出現一些重複的數據,有些情況我們允許重複數據的存在,但有時候我們也需要刪除這些重複的數據。我們如何去處理呢?
  • 重新學習Mysql資料庫1:無廢話MySQL入門
    前言開始使用我下面所有的SQL語句是基於MySQL 5.6+運行。登錄MySQLmysql -h 127.0.0.1 -u 用戶名 -pmysql -D 所選擇的資料庫名 -h 主機名 -u 用戶名 -pmysql> exit # 退出 使用 「quit;」 或 「\q;」 一樣的效果mysql> status; # 顯示當前mysql的version的各種信息mysql> select version(); # 顯示當前
  • MySQL資料庫及應用
    錯8 單選 在SQL中,創建資料庫的命令是CREATE,修改資料庫命令是UPDATE,刪除資料庫命令是DELETE。A. 對B.IF6 單選 在SQL語言中可以使用INSERT語句往資料庫的表中插入一行或多行數據記錄。A. 對B. 錯7 單選 在SQL語言中可以使用DROP語句刪除表中部分或全部數據記錄。A.
  • 面試官:在使用mysql資料庫時,遇到重複數據怎麼處理?
    前言前段時間,很多人問我能不能寫一些資料庫的文章,正好自己在測試mysql資料庫性能的時候,出現了一個問題,也就是出現了很多重複的數據,想起來自己long long ago寫過一篇類似的,僅此就拿來總結了一下。
  • 在MySQL中使用XML數據—數據格式化
    MySqlDump  有Igor Romanenko編寫的MySqlDump客戶端最初是一個備份程序,它可以備份資料庫,或將一個資料庫轉移到另一個資料庫(MySQL或其它資料庫),它的這個備份過程其實是一個創建表,填充表的過程。此外,MySqlDump還可以生成CSV,XML或其它由分隔符控制的文本文件。
  • 從Web查詢資料庫之PHP與MySQL篇
    從Web查詢資料庫:Web資料庫架構的工作原理 一個用戶的瀏覽器發出一個HTTP請求,請求特定的Web頁面,在該頁面中出發form表單提交到php腳本文件(如:results.php)中處理 Web伺服器接收到對results.php頁面的請求後,檢索文件,並將其傳遞給PHP引擎處理 PHP引擎開始解析腳本
  • MySQL教程之MySQL定時備份資料庫
    一、MySQL數據備份1.1、 mysqldump命令備份數據在MySQL中提供了命令行導出資料庫數據以及文件的一種方便的工具mysqldump,我們可以通過命令行直接實現資料庫內容的導出dump,首先我們簡單了解一下mysqldump命令用法:
  • 「詳細」MySQL資料庫與JDBC編程
    DDL(Data Definition Language,數據定義語言)語句主要操作資料庫對象。創建表CREATE TABLE [模式名.](MySQL不支持)CREATE TABLE 表名( key INT, CHECK(key>10) );索引(一個資料庫對象)創建索引的唯一作用是加速對表的查詢,索引通過使用快速路徑訪問方法來快速定位數據,從而減少了磁碟的I/0。