MySQL基础教程——创建数据库并插入数据
本節(jié)將介紹 MySQL 新建數(shù)據(jù)庫,新建表,插入數(shù)據(jù)以及基本數(shù)據(jù)類型的相關(guān)知識。本節(jié)實(shí)驗(yàn)將創(chuàng)建一個(gè)名為mysql_shiyan的數(shù)據(jù)庫,其中有兩張表employee和department。
1. 準(zhǔn)備
再安裝并配置好MySQL的Linux系統(tǒng)上,先用以下兩條命令打開 MySQL 服務(wù)并使用 root 登錄:
# 打開 MySQL 服務(wù) sudo service mysql start #使用 root 用戶登錄,密碼為空 mysql -u root
如果你理解了上述代碼的含義, -u 和 root 之間可以不要空格
后續(xù)的實(shí)驗(yàn)都在 MySQL 的控制臺輸入命令進(jìn)行操作。
2. 新建數(shù)據(jù)庫
首先,我們創(chuàng)建一個(gè)數(shù)據(jù)庫,給它一個(gè)名字,比如mysql_shiyan,以后的幾次實(shí)驗(yàn)也是對mysql_shiyan這個(gè)數(shù)據(jù)庫進(jìn)行操作。 語句格式為CREATE DATABASE <數(shù)據(jù)庫名字>;,(注意不要漏掉分號;),前面的 CREATE DATABASE 也可以使用小寫,具體命令為:
CREATE DATABASE mysql_shiyan;
創(chuàng)建成功后輸入命令show databases;(注意不要漏掉;)檢查一下:
在大多數(shù)系統(tǒng)中,SQL 語句都是不區(qū)分大小寫的,因此以下語句都是合法的:
CREATE DATABASE name1; create database name2; CREATE database name3; create DAtabaSE name4;
但是出于嚴(yán)謹(jǐn),而且便于區(qū)分保留字(保留字(reserved word):指在高級語言中已經(jīng)定義過的字,使用者不能再將這些字作為變量名或過程名使用。)和變量名,我們把保留字大寫,把變量和數(shù)據(jù)小寫。
3. 連接數(shù)據(jù)庫
接下來的操作,就在剛才創(chuàng)建的mysql_shiyan中進(jìn)行,由于一個(gè)系統(tǒng)中可能會有多個(gè)數(shù)據(jù)庫,要確定當(dāng)前是對哪一個(gè)數(shù)據(jù)庫操作,使用語句use <數(shù)據(jù)庫名字>:
use mysql_shiyan;
輸入命令show tables;可以查看當(dāng)前數(shù)據(jù)庫里有幾張表,現(xiàn)在mysql_shiyan里還是空的:
數(shù)據(jù)表
數(shù)據(jù)表(table)簡稱表,它是數(shù)據(jù)庫最重要的組成部分之一。數(shù)據(jù)庫只是一個(gè)框架,表才是實(shí)質(zhì)內(nèi)容。
而一個(gè)數(shù)據(jù)庫中一般會有多張表,這些各自獨(dú)立的表通過建立關(guān)系被聯(lián)接起來,才成為可以交叉查閱、一目了然的數(shù)據(jù)庫。如下便是一張表:
| ID | name | phone |
|---|---|---|
| 01 | Tom | 110110110 |
| 02 | Jack | 119119119 |
| 03 | Rose | 114114114 |
4 新建數(shù)據(jù)表
在數(shù)據(jù)庫中新建一張表的語句格式為:
CREATE TABLE 表的名字 ( 列名a 數(shù)據(jù)類型(數(shù)據(jù)長度), 列名b 數(shù)據(jù)類型(數(shù)據(jù)長度), 列名c 數(shù)據(jù)類型(數(shù)據(jù)長度) );
我們嘗試在mysql_shiyan中新建一張表employee,包含ID,姓名 和電話信息,所以語句為:
CREATE TABLE employee (id int(10),name char(20),phone int(12));
然后再創(chuàng)建一張表department,包含名稱和電話信息,想讓命令看起來更整潔,你可以這樣輸入命令:
這時(shí)候再show tables;一下,可以看到剛才添加的兩張表:
數(shù)據(jù)類型
在剛才新建表的過程中,我們提到了數(shù)據(jù)類型,MySQL 的數(shù)據(jù)類型和其他編程語言大同小異,下表是一些 MySQL 常用數(shù)據(jù)類型:
| 數(shù)據(jù)類型 | 大小(字節(jié)) | 用途 | 格式 |
|---|---|---|---|
| INT | 4 | 整數(shù) | |
| FLOAT | 4 | 單精度浮點(diǎn)數(shù) | |
| DOUBLE | 8 | 雙精度浮點(diǎn)數(shù) | |
| ENUM | -- | 單選,比如性別 | ENUM('a','b','c') |
| SET | -- | 多選 | SET('1','2','3') |
| DATE | 3 | 日期 | YYYY-MM-DD |
| TIME | 3 | 時(shí)間點(diǎn)或持續(xù)時(shí)間 | HH:MM:SS |
| YEAR | 1 | 年份值 | YYYY |
| CHAR | 0~255 | 定長字符串 | |
| VARCHAR | 0~255 | 變長字符串 | |
| TEXT | 0~65535 | 長文本數(shù)據(jù) |
整數(shù)除了 INT 外,還有 TINYINT、SMALLINT、MEDIUMINT、BIGINT。
CHAR 和 VARCHAR 的區(qū)別:CHAR 的長度是固定的,而 VARCHAR 的長度是可以變化的,比如,存儲字符串 “abc",對于 CHAR(10),表示存儲的字符將占 10 個(gè)字節(jié)(包括 7 個(gè)空字符),而同樣的 VARCHAR(12) 則只占用4個(gè)字節(jié)的長度,增加一個(gè)額外字節(jié)來存儲字符串本身的長度,12 只是最大值,當(dāng)你存儲的字符小于 12 時(shí),按實(shí)際長度存儲。
ENUM和SET的區(qū)別:ENUM 類型的數(shù)據(jù)的值,必須是定義時(shí)枚舉的值的其中之一,即單選,而 SET 類型的值則可以多選。
想要了解更多關(guān)于 MySQL 數(shù)據(jù)類型的信息,可以參考下面兩篇博客。
MySQL 中的數(shù)據(jù)類型介紹
MySQL 數(shù)據(jù)類型
5. 插入數(shù)據(jù)
剛才我們新建了兩張表,使用語句SELECT * FROM employee;查看表中的內(nèi)容,可以看到 employee 表中現(xiàn)在還是空的:
剛才使用的SELECT語句將在下一節(jié)實(shí)驗(yàn)中詳細(xì)介紹
我們通過 INSERT 語句向表中插入數(shù)據(jù),語句格式為:
INSERT INTO 表的名字(列名a,列名b,列名c) VALUES(值1,值2,值3);
我們嘗試向 employee 中加入 Tom、Jack 和 Rose:
INSERT INTO employee(id,name,phone) VALUES(01,'Tom',110110110); INSERT INTO employee VALUES(02,'Jack',119119119); INSERT INTO employee(id,name) VALUES(03,'Rose');
你已經(jīng)注意到了,有的數(shù)據(jù)需要用單引號括起來,比如 Tom、Jack、Rose 的名字,這是由于它們的數(shù)據(jù)類型是 CHAR 型。此外VARCHAR,TEXT,DATE,TIME,ENUM等類型的數(shù)據(jù)也需要單引號修飾,而INT,FLOAT,DOUBLE等則不需要。
第一條語句比第二條語句多了一部分:(id,name,phone)這個(gè)括號里列出的,是將要添加的數(shù)據(jù)(01,'Tom',110110110)其中每個(gè)值在表中對應(yīng)的列。而第三條語句只添加了(id,name)兩列的數(shù)據(jù),所以在表中Rose的phone為NULL。
現(xiàn)在我們再次使用語句SELECT * FROM employee;查看 employee 表,可見 Tom 和 Jack 的相關(guān)數(shù)據(jù)已經(jīng)保存在其中了:
6. 總結(jié)
經(jīng)過本次實(shí)驗(yàn),我們已經(jīng)有了一個(gè)名為mysql_shiyan的數(shù)據(jù)庫,其中有兩張表,我們已經(jīng)向其中插入了一些數(shù)據(jù)。務(wù)必完整地操作一遍,以熟練SQL語句的使用。下一節(jié)我們將進(jìn)入 SQL 約束的學(xué)習(xí)。
參考鏈接: 實(shí)驗(yàn)樓——MySQL基礎(chǔ)教程
總結(jié)
以上是生活随笔為你收集整理的MySQL基础教程——创建数据库并插入数据的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 丫蛋小品我要上春晚(丫蛋老公)
- 下一篇: 高清晰版康熙王朝迅雷下载(康熙王朝下载迅