【MySQL筆記】庫操作與表操作

🔥個人主頁🔥:孤寂大仙V
🌈收錄專欄🌈:MySQL
🌹往期回顧🌹:【MySQL】認識MySQL
🔖流水不爭,爭的是滔滔不


  • 一、庫操作
    • 1.1 顯示數據庫
    • 1.2 創建數據庫
    • 1.3 字符集和校驗規則
    • 1.4 顯示創建語句
    • 1.5 修改數據庫
    • 1.6 數據庫刪除
    • 1.7 備份與還原
    • 1.8 查看連接情況
  • 二、表操作
    • 2.1 創建表
    • 2.2 查看當前數據庫有哪些表
    • 2.2 查看表結構
    • 2.3 修改表
      • 刪除表
      • 修改表名字
      • 向表中插入內容
      • 查看表的內容
      • 向表結構中新增行 表內容新增列
      • 修改表結構中信息的存儲大小
      • 刪除表結構中的行 表內容中的列

一、庫操作

1.1 顯示數據庫

show databases;

show databases;” 是 MySQL 中的一條 SQL 語句,用于顯示當前 MySQL 服務器上,當前用戶權限范圍內的所有可用數據庫。

語法格式為SHOW DATABASES (LIKE ‘數據庫名’);其中LIKE從句是可選項,用于匹配指定的數據庫名稱,支持部分匹配和完全匹配 。

在這里插入圖片描述


1.2 創建數據庫

語法

CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [,
create_specification] ...]
create_specification:
[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name

大寫的表示關鍵字
[] 是可選項
CHARACTER SET: 指定數據庫采用的字符集
COLLATE: 指定數據庫字符集的校驗規則


創建名為test1的數據庫

create database test;

在這里插入圖片描述


1.3 字符集和校驗規則

創建數據庫的時候,有兩個編碼集:
1.數據庫編碼集——數據庫未來的存儲數據
2.數據庫效驗集——支持數據庫,進行字段比較使用的編碼,本質也是一種讀取數據庫中數據的采用的編碼格式。

數據庫對數據進行任何操作,必須保證操作和編碼是一致的。

創建指定字符集與指定校對規則的數據庫
創建一個使用utf8字符集的數據庫

create database db2 charset=utf8;

創建一個使用utf字符集并帶校隊規則的數據庫

create database db3 charset=utf8 collate utf8_general_ci;

查看系統默認字符集以及校驗規則

當我們創建數據庫沒有指定字符集和校驗規則時,系統使用默認字符集:utf8,校驗規則是:utf8_ general_ ci
在這里插入圖片描述
查看數據庫支持的字符集

show charset

字符集主要是控制用什么語言
在這里插入圖片描述
查看數據庫支持的字符集校驗規則

show collation;

在這里插入圖片描述
效驗數據對數據庫的影響

我們用能不能區分字母大小寫的效驗碼舉例

創建一個數據庫,效驗規則使用utf8_general_ci 不能區分大小寫

create database test1 collate utf8_general_ci;

在這里插入圖片描述

use test1;
create table person(name varchar(20));
mysql> insert into person (name) values ('a');mysql> insert into person (name) values ('A');mysql> insert into person (name) values ('b');mysql> insert into person (name) values ('B');mysql> insert into person (name) values ('c');mysql> insert into person (name) values ('C');
select * from person;

在這里插入圖片描述


創建一個數據庫,效驗規則使用utf8_bin 區分大小寫

create database test2 collate utf8_bin;

在這里插入圖片描述

create table person(name varchar(20));
mysql> insert into person (name) values ('a');mysql> insert into person (name) values ('A');mysql> insert into person (name) values ('b');mysql> insert into person (name) values ('B');mysql> insert into person (name) values ('c');mysql> insert into person (name) values ('C');
select * from person;

在這里插入圖片描述


校驗集是會影響我們的數據庫的結果的。

1.4 顯示創建語句

show create database 數據庫名;

在這里插入圖片描述
MySQL 建議我們關鍵字使用大寫,但是不是必須的。
數據庫名字的反引號``,是為了防止使用的數據庫名剛好是關鍵字
/*!40100 default… */ 這個不是注釋,表示當前mysql版本大于4.01版本,就執行這句話

1.5 修改數據庫

語法

ALTER DATABASE db_name
[alter_spacification [,alter_spacification]...]
alter_spacification:
[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name

對數據庫的修改主要指的是修改數據庫的字符集,校驗規則


修改test1數據庫字符集改為gbk

alter database test1 charset=gbk;

在這里插入圖片描述

1.6 數據庫刪除

DROP DATABASE [IF EXISTS] db_ name;

執行刪除之后的結果:

  • 數據庫內部看不到對應的數據庫
  • 對應的數據庫文件夾被刪除,級聯刪除,里面的數據表全部被刪

注意:不要隨意刪除數據庫


刪除test2數據庫

drop database test2;

在這里插入圖片描述

1.7 備份與還原

語法

# mysqldump -P3306 -u root -p 密碼 -B 數據庫名 > 數據庫備份存儲的文件路徑

將test1庫備份到文件(退出連接),在我們Linux想要下,你自己想要進行備份的路徑下進行備份。

mysqldump -P3306 -uroot -p -B test1> test_25_3_11

在這里插入圖片描述在這里插入圖片描述

發現備份文件,在數據中做的有效操作都備份起來了。


如果把數據庫中的test1這一數據庫刪除,進行還原要進行一下操作

source后跟備份文件所在的路徑

source /root/learn/test_25_3_11/test_25_3_11;

在這里插入圖片描述
在這里插入圖片描述


如果備份的不是整個數據庫,而是其中的一張表,怎么做

# mysqldump -u root -p 數據庫名 表名1 表名2 > D:/mytest.sql

同時備份多個數據庫

# mysqldump -u root -p -B 數據庫名1 數據庫名2 ... > 數據庫存放路徑

如果備份一個數據庫時,沒有帶上-B參數, 在恢復數據庫時,需要先創建空數據庫,然后使用數據庫,再使用source來還原

1.8 查看連接情況

就是看當前有哪些人用這個數據庫

show processlist;

在這里插入圖片描述

二、表操作

2.1 創建表

語法

CREATE TABLE table_name (
field1 datatype,
field2 datatype,
field3 datatype
) character set 字符集 collate 校驗規則 engine 存儲引擎;
  • field 表示列名
  • datatype 表示列的類型
  • character set 字符集,如果沒有指定字符集,則以所在數據庫的字符集為準
  • collate 校驗規則,如果沒有指定校驗規則,則以所在數據庫的校驗規則為準

創建表之前要有數據庫,表是存在數據庫里的。
在這里插入圖片描述
在這里插入圖片描述

mysql> create table if not exists user1(-> id int,-> name varchar(20) comment '用戶名',-> password char(32) comment '用戶的密碼',-> birthday date comment '用戶的生日'-> )character set utf8 collate utf8_general_ci engine MyIsam;
mysql> create table if not exists user2(-> id int,-> name varchar(20) comment '用戶名',-> password char(32) comment '用戶的密碼',-> birthday date comment '用戶的生日'-> )charset=utf8 collate=utf8_general_ci engine=InnoDB;

在這里插入圖片描述


不同的存儲引擎,創建表的文件不一樣
users 表存儲引擎是 MyISAM ,在數據目中有三個不同的文件,分別是:

  • users.frm:表結構
  • users.MYD:表數據
  • users.MYI:表索引

存儲引擎是 InnoDB,有兩個文件,分別是:

  • user2.frm
  • user2.ibd
    在這里插入圖片描述

2.2 查看當前數據庫有哪些表

show tables;

在這里插入圖片描述

2.2 查看表結構

desc 表名;

在這里插入圖片描述

在這里插入圖片描述

查看更詳細信息

在這里插入圖片描述

2.3 修改表

在項目實際開發中,經常修改某個表的結構,比如字段名字,字段大小,字段類型,表的字符集類型,表的存儲引擎等等。我們還有需求,添加字段,刪除字段等等。這時我們就需要修改表

刪除表

語法

DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ...

把一個表刪除

drop table user2;

在這里插入圖片描述

修改表名字

alter table 原來的名字 rename to 新名字;

在這里插入圖片描述

向表中插入內容

insert into user values(1,'張三''12345','2005-10-1');
insert into user values (2,'李四','54321','2004-10-1');

在這里插入圖片描述

查看表的內容

select * from 表名稱;

在這里插入圖片描述

向表結構中新增行 表內容新增列

alter table 表名 add 新增的列的名稱 大小 comment 描述 after birthday
alter table user add image_path varchar(128) comment '這個是用戶的頭像路徑' after birthday;

在這里插入圖片描述
新增后發現表結構中新增了一行,表內容中新增了一列。

修改表結構中信息的存儲大小

alter table 表名稱 modify name 新的字段
alter table user modify name varchar(60);

在這里插入圖片描述

刪除表結構中的行 表內容中的列

alter table 表名稱 drop 想要刪除的內容; 
alter table user drop password;	

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/73184.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/73184.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/73184.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

SpringBoot3實戰(SpringBoot3+Vue3基本增刪改查、前后端通信交互、配置后端跨域請求、數據批量刪除(超詳細))(3)

目錄 一、從0快速搭建SpringBoot3工程、SpringBoot3集成MyBatis、PageHelper分頁查詢的詳細教程。(博客鏈接) 二、實現前端與后端通信對接數據。(axios工具) &#xff08;1&#xff09;安裝axios。(vue工程目錄) &#xff08;2&#xff09;封裝請求工具類。(request.js) <1&…

單播、廣播、組播和任播

文章目錄 一、單播二、廣播三、組播四、任播代碼示例&#xff1a; 五、各種播的比較 一、單播 單播&#xff08;Unicast&#xff09;是一種網絡通信方式&#xff0c;它指的是在網絡中從一個源節點到一個單一目標節點對的傳輸模式。單播傳輸時&#xff0c;數據包從發送端直接發…

【實戰】deepseek數據分類用戶評論數據

在平時的工作中&#xff0c;我們會遇到數據分類的情況&#xff0c;比如將一些文本劃分為各個標簽。如果人工分類這塊的工作量將是非常大&#xff0c;而且分類數據的準確性也不高。我們需要用到一些工具來實現。提高效率的同時也提高準確率。 1.示例數據 用戶ID 時間戳 評論場…

技術視角解讀:游戲出海如何借助AWS全球架構突破性能與合規瓶頸

【場景痛點】 某二次元卡牌手游團隊在東南亞市場遭遇聯機延遲投訴率高達37%&#xff0c;日本地區因數據合規問題面臨下架風險。在傳統IDC架構下&#xff0c;運維團隊需要同時管理3個區域的物理服務器&#xff0c;版本更新耗時長達6小時。 【技術架構升級】 通過AWS Local Zones…

【JavaEE】網絡編程socket

1.????前言~&#x1f973;&#x1f389;&#x1f389;&#x1f389; Hello, Hello~ 親愛的朋友們&#x1f44b;&#x1f44b;&#xff0c;這里是E綿綿呀????。 如果你喜歡這篇文章&#xff0c;請別吝嗇你的點贊????和收藏&#x1f4d6;&#x1f4d6;。如果你對我的…

第16屆藍橋杯單片機4T模擬賽三

本次模擬賽涉及的模塊&#xff1a;基礎三件套&#xff08;Led&Relay&#xff0c;按鍵、數碼管&#xff09; 進階單件套&#xff08;pcf8591的AD模塊&#xff09; 附件&#xff1a; 各模塊底層代碼在文章的結尾 一、數碼管部分 1.頁面1 頁面1要顯示的格式是&#xff1a; …

網絡華為HCIA+HCIP IPv6

目錄 IPv4現狀 IPv6基本報頭 IPv6擴展報頭 IPv6地址 IPv6地址縮寫規范 ?編輯 IPv6地址分配 IPv6單播地址分配 IPv6單播地址接口標識 IPv6常見單播地址 - GUA &#xff08;2 / 3 開頭&#xff09; IPv6常見單播地址 - ULA IPv6常見單播地址 - LLA IPv6組播地…

基于YOLOv8深度學習的智能小麥害蟲檢測識別系統

作者簡介&#xff1a;Java領域優質創作者、CSDN博客專家 、CSDN內容合伙人、掘金特邀作者、阿里云博客專家、51CTO特邀作者、多年架構師設計經驗、多年校企合作經驗&#xff0c;被多個學校常年聘為校外企業導師&#xff0c;指導學生畢業設計并參與學生畢業答辯指導&#xff0c;…

Mac:Maven 下載+安裝+環境配置(詳細講解)

&#x1f4cc; 下載 Maven 下載地址&#xff1a;https://maven.apache.org/download.cgi &#x1f4cc; 無需安裝 Apache官網下載 Maven 壓縮包&#xff0c;無需安裝&#xff0c;下載解壓后放到自己指定目錄下即可。 按我自己的習慣&#xff0c;我會在用戶 jane 目錄下新建…

XSS-labs(反射型XSS) 靶場 1-13關 通關

目錄 前言 XSS漏洞概述 XSS漏洞分類 通關日記 level1 分析 解題 ?level2 分析 解題 方法一&#xff1a;閉合標簽 方法二&#xff1a;閉合雙引號 level3 分析 解題 level4 分析 解題 level5 分析 解題 level6 分析 解題 level7 分析 解體 level8 …

GPT-5 將免費向所有用戶開放?

GPT-5 將免費向所有用戶開放&#xff1f; 硅谷知名分析師 Ben Thompson 最近與 OpenAI CEO Sam Altman 進行了一場深度對談&#xff0c;其中Sam Altman透漏GPT-5將免費向大家發放。 OpenAI 這波操作可不是一時沖動&#xff0c;而是被逼出來的。DeepSeek 這個新秀橫空出世&am…

【雜記二】git, github, vscode等

一、前言 暫時空著... 二、git 2.1 可能的疑問 1. VSCode 項目名和 GitHub 倉庫名是否需要一致&#xff1f; 不需要一致。 VSCode 項目名&#xff08;也就是你本地的文件夾名字&#xff09;和 GitHub 倉庫名可以不一樣。 Git 是一個分布式版本控制系統&#xff0c;它主要關…

數學愛好者寫的編程系列文章

作為一個數學愛好者&#xff0c;我大學讀的專業卻不是數學專業&#xff0c;而是跟計算機有關的專業。原本我對編程一竅不通&#xff0c;平時上課也是在看數學文獻&#xff0c;作業基本靠同學&#xff0c;考試及格就行。不過后來因為畢業的壓力&#xff0c;我還是擁抱編程了&…

FPGA 以太網通信(四)網絡視頻傳輸系統

一、網絡視頻傳輸系統 網絡視頻傳輸系統使用ov5640攝像頭采集數據&#xff0c;通過組件UDP幀將視頻數據實時傳輸給上位機。 ov5640視頻傳輸帶寬 像素分辨率設為640x480&#xff0c;幀率設為60幀&#xff0c;像素格式為RGB565&#xff0c;傳輸帶寬為 640 x 480 x 16bit x 60 fps…

[leetcode]1631. 最小體力消耗路徑(bool類型dfs+二分答案/記憶化剪枝/并查集Kruskal思想)

題目鏈接 題意 給定 n m n\times m nm地圖 要從(1,1) 走到 (n,m) 定義高度絕對差為四聯通意義下相鄰的兩個點高度的絕對值之差 定義路徑的體力值為整條路徑上 所有高度絕對差的max 求所有路徑中 最小的路徑體力值是多少 方法1 這是我一開始自己寫的記憶化剪枝 比較暴力 時…

DeepSeek寫打臺球手機小游戲

DeepSeek寫打臺球手機小游戲 提問 根據提的要求&#xff0c;讓DeepSeek整理的需求&#xff0c;進行提問&#xff0c;內容如下&#xff1a; 請生成一個包含以下功能的可運行移動端打臺球小游戲H5文件&#xff1a; 要求 可以重新開始游戲 可以暫停游戲 有白球和其他顏色的球&am…

webpack使用詳細步驟

項目描述 本項目 webpack 的基本使用。 webpack 官方&#xff1a;https://webpack.docschina.org/concepts/ Element-plus 官方&#xff1a;https://element-plus.sxtxhy.com/zh-CN/ Vue3 官方&#xff1a;https://cn.vuejs.org/ 項目組成明細 每個步驟完成后重新執行 npm run …

【STM32實物】基于STM32的太陽能充電寶設計

基于STM32的太陽能充電寶設計 演示視頻: 基于STM32的太陽能充電寶設計 硬件組成: 系統硬件包括主控 STM32F103C8T6、0.96 OLED 顯示屏、蜂鳴器、電源自鎖開關、溫度傳感器 DS18B20、繼電器、5 V DC 升壓模塊 、TB4056、18650鋰電池、9 V太陽能板、穩壓降壓 5 V三極管。 功能…

【記一次】AI微調訓練步數計算方式

llama微調訓練步數計算方式,以下數據為假設 一、關鍵參數解析 總樣本數&#xff1a;Num examples 1,047 表示訓練數據集包含 1,047 個樣本。 訓練輪數&#xff1a;Num Epochs 300 表示整個訓練集將被遍歷 300 次。 總批次大小&#xff1a;Total train batch size 80 表示…

python-selenium 爬蟲 由易到難

本質 python第三方庫 selenium 控制 瀏覽器驅動 瀏覽器驅動控制瀏覽器 推薦 edge 瀏覽器驅動&#xff08;不容易遇到版本或者兼容性的問題&#xff09; 驅動下載網址&#xff1a;鏈接: link 1、實戰1 &#xff08;1&#xff09;安裝 selenium 庫 pip install selenium&#…