【必知必會的MySQL知識】②使用MySQL

来源:https://www.cnblogs.com/xiezhr/archive/2023/05/02/17343310.html
-Advertisement-
Play Games

(使用MySQL) 前言 根據上一篇文章【必知必會的MySQL知識】①初探MySQL的內容,想必您對MySQL資料庫有了一個整體的瞭解了,並且應該在自己電腦上已經安裝上了MySQL。 這一篇呢我們來說一說這麼連接上資料庫並且使用它。 啟動MySQL服務 前面MySQL安裝的文章手把手教你安裝MySQ ...


目錄

前言

根據上一篇文章【必知必會的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進行講解,並且會通過刷題網站進行實戰操作。敬請期待哦 (●'◡'●)

如果覺得內容不錯,防止以後找不到,可以點贊、收藏、關註哦。 (●'◡'●)

在這裡插入圖片描述


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • Springboot的優點 內置servlet容器,不需要在伺服器部署 tomcat。只需要將項目打成 jar 包,使用 java -jar xxx.jar一鍵式啟動項目 SpringBoot提供了starter,把常用庫聚合在一起,簡化複雜的環境配置,快速搭建spring應用環境 可以快速創建獨立 ...
  • 列印 print("hello world") 註釋 單行註釋 多行註釋 -- 這是單行註釋 --[[ 這是多行註釋 ]] 賦值 s="Hello World" -- 多重賦值 a,b="String a","String b" -- 交換值,類似python a,b="String a","Str ...
  • Redis連環40問,絕對夠全! Redis是什麼? Redis(Remote Dictionary Server)是一個使用 C 語言編寫的,高性能非關係型的鍵值對資料庫。與傳統資料庫不同的是,Redis 的數據是存在記憶體中的,所以讀寫速度非常快,被廣泛應用於緩存方向。Redis可以將數據寫入磁碟 ...
  • Spring的Bean定義環節是Spring IoC容器中的核心流程之一。在這個過程中,Spring會掃描指定的包路徑,找到符合條件的Bean,並將其轉換為Bean定義。在這個過程中,Spring使用了ASM技術來解析類的註解信息,判斷當前類是否符合要求。然後,Spring將符合條件的Bean定義加... ...
  • 簡單字元串加密 編寫一個應用程式用來輸入的字元串進行加密,對於字母字元串加密規則如下: 'a→d’ ‘b'→’e’ ‘w’→z' ...... x'→’a’ ‘y'→b' ‘z→c’ ‘A’→’D’ ‘B'→’E’ ‘W’→’Z’ ‘X’→’A’ ‘Y’→’B’ ‘Z’→’C’ ?對於其他字元,不進 ...
  • 先聲明一下前期的一些手欠欠兒的操作導致oracl登錄不進去了,起先是清理磁碟空間的時候誤刪除了orcle DBF數據文件後無法進入系統,plsql登錄報錯如下: 一般情況下,刪除表空間的正確方法是:DROP TABLESPACE BDCDJ INCLUDING CONTENTS AND DATAFI ...
  • (DML語言) 前言 前面的兩篇文章中,我們已經對MySQL有了基本瞭解。 並且知道了怎麼用工具連接資料庫?怎麼創建資料庫?怎麼創建表? 這一篇呢我們就來看看怎麼在我們創建的表中插入數據、刪除數據和修改數據。也就是上一篇文章中提到的DML 數據操作語言 準備 根據上一章所說的,我們創建一個db_xi ...
  • 功能04-達人探店 5.功能04-達人探店 5.1發佈&查看探店筆記 5.1.1發佈探店筆記 探店筆記類似點評網站的評價,往往是圖文結合。對應的表有兩個: tb_blog:探店筆記表,包含筆記中的標題、文字、圖片等 tb_blog_comments:其他用戶對探店筆記的評價 /*表: tb_blog ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...