前言
根據上一篇文章【必知必會的MySQL知識】①初探MySQL的內容,想必您對MySQL資料庫有了一個整體的瞭解了,並且應該在自己電腦上已經安裝上了MySQL。
這一篇呢我們來說一說這麼連線上資料庫並且使用它。
啟動MySQL服務
前面MySQL安裝的文章手把手教你安裝MySQL中我們已經說過怎麼啟動服務了。這裡呢再簡單說一下。
啟動MySQL服務有以下兩種方式
1、 使用命令啟動
進入到MySQL安裝目錄的bin目錄下,並輸入命令啟動、停止服務
# 啟動MySQL服務
net start mysql
# 停止MySQL服務
net stop mysql
2、進入服務頁面進行啟動
右鍵選中此電腦-->管理-->服務與應用程式-->服務-->找到MySQL服務-->右鍵服務即可啟動、關閉、重啟MySQL服務
當然了,我們還可以設定MySQL服務 開機自啟動,這樣每次電腦開機MySQL服務就會自動啟動了
連線MySQL
MySQL服務啟動後,我們就可以透過各種工具來連線我們的MySQL資料庫了。下面我們將透過最原始的命令列及各種第三方工具演示連線MySQL資料庫
1、透過命令列連線
# 命令格式
mysql [-h 127.0.0.1] [-P 3306] -u root -p
-h : MySQL服務所在的主機IP,本地資料庫IP為127.0.0.1
-P : MySQL服務埠號,預設為3306
-u : MySQL資料庫使用者名稱
-p : MySQL資料庫使用者名稱對應的密碼
[]內為可選引數,如果需要連線遠端的MySQL,需要加上這兩個引數來指定遠端主機IP、埠,如果
連線本地的MySQL,則無需指定這兩個引數
注: 有時候我們會遇到如下錯誤
遇到這樣的錯誤呢,我們也不要慌。上面報錯是因為找不到mysql命令報的,所以呢解決辦法就是將路徑切換到MySQL的安裝路徑的bin目錄下再執行如下命令即可
myslq -u root -p
2、透過各種第三方工具連線
當然了,日常開發中,我們一般不會使用命令列的方式連線資料庫的。而是透過第三方工具去連。
這裡呢推薦幾個小編認為不錯的工具供大家參考。① sqlyog ② Navicat ③ DataGrip
① sqlyog 和② Navicat兩個工具體積不大,佔用記憶體也比較小,個人使用起來,各種常用功能都有了。
如果你的電腦配置比較好也可以使用③ DataGrip
不管使用哪個工具都是可以的
下載地址:
① sqlyog 連結:https://pan.baidu.com/s/1yDooGbVxqAfwrrsEJ2_Tug 提取碼:mbd0
② Navicat 連結:https://pan.baidu.com/s/1yDooGbVxqAfwrrsEJ2_Tug 提取碼:9yoe
③ DataGrip 連結:https://pan.baidu.com/s/11PyoGQKAyX-pX2NroapqpQ 提取碼:1ei2
各個第三方工具連線MySQL配置
①sqlyog
② Navicat
③ DataGrip
不管使用哪種工具,連線配置都還是比較簡單的。
MySQL資料庫基本命令
1、基本命令
# 基本命令
SHOW DATABASES; --檢視當前使用者下所有資料庫
CREATE DATABASE [IF NOT EXISTS] 資料庫名; --建立一個資料庫
SHOW CREATE DATABASE 資料庫名;-- 檢視建立資料庫的語句
DROP DATABASE [if EXISTS] 資料庫名; --刪除資料庫
show databases; --檢視當前所有的資料庫
use 資料庫名; --開啟指定的資料庫
SHOW CREATE TABLE 表名;-- 檢視錶的定義語句
DROP TABLE 表名; --刪除表
show tables; --檢視所有的表
desc 表名; --顯示錶的資訊
exit --退出連線
2、註釋
-- --單行註釋
# --單行註釋
/*...*/ --多行註釋
3、 關鍵字
上面基本命令中,我們使用的show、databases、create、use、desc 等詞都是MySQL關鍵字。顧名思義,
關鍵字 就是一些用於執行MySQL操作的特殊詞彙,時MySQL自帶的。所以,在命名資料庫、表、列和其他物件時,一定不要使用這些關鍵字
具體關鍵字可以參考 【必知必會的MySQL知識】附錄Ⅰ 5.7版本
4、實踐操作
注: 雖然上面我們介紹了三種圖形化連線MySQL工具,這一節我們還是使用命令列進行演示。
① 檢視root使用者下可用資料庫
# 我們可以看到,root 使用者下一共有5個可用資料庫,前四個時MySQL自帶的資料庫,
#最後一個test資料庫時我們後來建立的,我們這裡暫時還不用知道這些資料庫具體時幹嘛的
# 只需要知道有這麼個東西就可以了,後面會具體說
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
| test |
+--------------------+
5 rows in set (0.00 sec)
② 建立一個自己的資料庫
# 建立了一個名叫db_xiezhr的資料庫
mysql> create database if not exists db_xiezhr;
Query OK, 1 row affected (0.02 sec)
# 透過命令show databases; 我們可以看到,上面的建立指令碼生效了,可用資料庫多了db_xiezhr
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| db_xiezhr |
| mysql |
| performance_schema |
| sys |
| test |
+--------------------+
6 rows in set (0.00 sec)
③ 檢視建立資料庫指令碼
# 根據如下指令碼,我們可以看到上面建立db_xiezhr資料庫時的指令碼
mysql> show create database db_xiezhr;
+-----------+----------------------------------------------------------------------+
| Database | Create Database |
+-----------+----------------------------------------------------------------------+
| db_xiezhr | CREATE DATABASE `db_xiezhr` /*!40100 DEFAULT CHARACTER SET latin1 */ |
+-----------+----------------------------------------------------------------------+
1 row in set (0.02 sec)
④ 選擇資料庫
上面根據show dabatases命令已經列出了root使用者下的所有資料庫,我們要選擇其中的一個,才能操作它
# 選擇我們建立的資料庫db_xiezhr
mysql> use db_xiezhr
Database changed
⑤在db_xiezhr 資料庫下建立一張表
格式
CREATE TABLE IF NOT EXISTS `student`(
'欄位名' 列型別 [屬性] [索引] [註釋],
'欄位名' 列型別 [屬性] [索引] [註釋],
......
'欄位名' 列型別 [屬性] [索引] [註釋]
)[表的型別][字符集設定][註釋]
# 在資料庫db_xiezhr 中建立一張使用者表
--表名和欄位儘量使用``括起來
--AUTO_INCREMENT 代表自增
--所有的語句後面加逗號,最後一個不加
--字串使用單引號括起來
--主鍵的宣告一般放在最後,便於檢視
--不設定字符集編碼的話,會使用MySQL預設的字符集編碼Latin1,不支援中文,可以在my.ini裡修改
mysql> CREATE TABLE IF NOT EXISTS `t_account`(
-> `id` INT(4)NOT NULL AUTO_INCREMENT COMMENT '學號',
-> `username` VARCHAR(30) NOT NULL DEFAULT '匿名' COMMENT '姓名',
-> `psw` VARCHAR(20) NOT NULL DEFAULT '123456' COMMENT '密碼',
-> `sexcode` VARCHAR(1) NOT NULL DEFAULT '1' COMMENT '性別 1男 2女',
-> `birthday` DATETIME DEFAULT NULL COMMENT '出生日期',
-> `address` VARCHAR(100) DEFAULT NULL COMMENT '家庭住址',
-> `email` VARCHAR(50) DEFAULT NULL COMMENT '郵箱',
-> PRIMARY KEY (`id`)
-> )ENGINE=INNODB DEFAULT CHARSET=utf8
-> ;
Query OK, 0 rows affected (0.03 sec)
⑥ 檢視建表語句
# 檢視上面建t_account表的語句
mysql> show create table t_account;
+-----------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+-----------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| t_account | CREATE TABLE `t_account` (
`id` int(4) NOT NULL AUTO_INCREMENT COMMENT '學號',
`username` varchar(30) NOT NULL DEFAULT '匿名' COMMENT '姓名',
`psw` varchar(20) NOT NULL DEFAULT '123456' COMMENT '密碼',
`sexcode` varchar(1) NOT NULL DEFAULT '1' COMMENT '性別 1男 2女',
`birthday` datetime DEFAULT NULL COMMENT '出生日期',
`address` varchar(100) DEFAULT NULL COMMENT '家庭住址',
`email` varchar(50) DEFAULT NULL COMMENT '郵箱',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
+-----------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.02 sec)
⑦ 檢視錶“t_account” 的結構
# 檢視我們上面所建的表t_account
mysql> desc t_account;
+----------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+----------------+
| id | int(4) | NO | PRI | NULL | auto_increment |
| username | varchar(30) | NO | | 匿名 | |
| psw | varchar(20) | NO | | 123456 | |
| sexcode | varchar(1) | NO | | 1 | |
| birthday | datetime | YES | | NULL | |
| address | varchar(100) | YES | | NULL | |
| email | varchar(50) | YES | | NULL | |
+----------+--------------+------+-----+---------+----------------+
7 rows in set (0.01 sec)
⑧ 檢視資料庫中所有表
# 檢視db_xiezhr 資料庫中所有表(資料庫中只有我們剛剛建的t_account表)
mysql> show tables;
+---------------------+
| Tables_in_db_xiezhr |
+---------------------+
| t_account |
+---------------------+
1 row in set (0.00 sec)
⑨ 刪除表
# 刪除我們建立的t_account表,如果是在生產環境,刪除資料庫一定一定一定要慎重。要不然就只能跑路了
#刪除表t_account
mysql> drop table t_account;
Query OK, 0 rows affected (0.01 sec)
# 執行上面語句後,再檢視資料庫表,發現t_account 表已經不在了
mysql> show tables;
Empty set (0.00 sec)
⑩ 刪除資料庫
# 刪除我們建立的db_xiezhr資料庫,如果是在生產環境,刪除資料庫一定一定一定要慎重。要不然就只能跑路了
# 刪除db_xiezhr資料庫
mysql> drop database db_xiezhr;
Query OK, 0 rows affected (0.01 sec)
# 再用show databases;查所有資料庫時,我們發現db_xiezhr資料庫已經不在了
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
| test |
+--------------------+
5 rows in set (0.00 sec)
⑪ 退出MySQL
# 這期文章我們就說到這裡了,該休息了。我們將連線的MySQL退出
# 退出MySQL連線,MySQL還跟我們說了一聲Bye (●'◡'●)
mysql> exit;
Bye
D:\DeveSoftware\mysql-5.7.37-winx64\bin>
小結
這一篇文章主要是說了怎麼連線MySQL資料庫、推薦了三款比較好用圖形化工具Sqlyog、Navicat、Datagrip。
參照上面文章,相信你可以成功連線自己本地資料庫或者遠端伺服器上的MySQL了 以及對MySQL資料庫進行一些基本操作了。
其實,我們本文章用到的基本操作都屬於資料庫定義語言(DDL)。
SQL語句根據其功能可以分為:DDL、DML、DQL、DCL 四類
- DDL 資料定義語言: 用來定義資料庫物件(資料庫,表, 欄位)
- DQL資料查詢語言: 用來查詢資料庫中表的記錄
- DML 資料操作語言: 用來對資料庫表中的資料進行增刪改
- DCL資料控制語言: 用來建立資料庫使用者、控制資料庫的 訪問許可權
後續文章中,我們會依次對剩下的SQL進行講解,並且會透過刷題網站進行實戰操作。敬請期待哦 (●'◡'●)
如果覺得內容不錯,防止以後找不到,可以點贊、收藏、關注哦。 (●'◡'●)