日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

MySQL库的操作

發布時間:2024/4/11 数据库 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MySQL库的操作 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

MySQL庫的操作

文章目錄

    • MySQL庫的操作
    • 1. 創建數據庫
    • 2. 創建數據庫案例
    • 3. 字符集和校驗規則
    • 4. 操縱數據庫

1. 創建數據庫

語法:

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: 指定數據庫字符集的校驗規則

2. 創建數據庫案例

1.創建名為 db1 的數據庫:

create database db1;

說明:當我們創建數據庫沒有指定字符集和校驗規則時,系統使用默認字符集: utf8,校驗規則是: utf8_general_ ci

2.創建一個使用utf8字符集的 db2 數據庫:

create database db2 charset=utf8;

3.創建一個使用utf字符集,并帶校對規則的 db3 數據庫:

create database db3 charset=utf8 collate utf8_general_ci;

3. 字符集和校驗規則

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

show variables like 'character_set_database'; show variables like 'collation_database';

2. 查看數據庫支持的字符集:

show charset;

3. 查看數據庫支持的字符集校驗規則:

show collation;

4. 校驗規則對數據庫的影響:

  • 不區分大小寫
    創建一個數據庫,校驗規則使用utf8_ general_ ci[不區分大小寫]
create database test1 collate utf8_general_ci;use test1;create table person(name varchar(20));insert into person values('a'); insert into person values('A'); insert into person values('b'); insert into person values('B');
  • 區分大小寫
    創建一個數據庫,校驗規則使用utf8_ bin[區分大小寫]
create database test2 collate utf8_bin;use test2create table person(name varchar(20));insert into person values('a'); insert into person values('A'); insert into person values('b'); insert into person values('B');
  • 進行查詢
    不區分大小寫的查詢以及結果:
mysql> use test1; mysql> select * from person where name='a'; +------+ | name | +------+ | a | | A | +------+ 2 rows in set (0.01 sec)

區分大小寫的查詢以及結果:

mysql> use test2; mysql> select * from person where name='a'; +------+ | name | +------+ | a | +------+ 2 rows in set (0.01 sec)
  • 結果排序
    不區分大小寫排序以及結果:
mysql> use test1; mysql> select * from person order by name; +------+ | name | +------+ | a | | A | | b | | B | +------+

區分大小寫排序以及結果:

mysql> use test2; mysql> select * from person order by name; +------+ | name | +------+ | A | | B | | a | | b | +------+

4. 操縱數據庫

1. 查看數據庫:

show databases;

2. 顯示創建語句:

show create database 數據庫名;

示例:

mysql> show create database mytest; +----------+----------------------------------------------------------------+ | Database | Create Database | +----------+----------------------------------------------------------------+ | mysql | CREATE DATABASE `mytest` /*!40100 DEFAULT CHARACTER SET utf8 */ | +----------+----------------------------------------------------------------+

說明:

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

3. 修改數據庫:
語法:

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

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

實例: 將 mytest 數據庫字符集改成 gbk

mysql> alter database mytest charset=gbk; Query OK, 1 row affected (0.00 sec) mysql> show create database mytest; +----------+----------------------------------------------------------------+ | Database | Create Database | +----------+----------------------------------------------------------------+ | mytest | CREATE DATABASE `mytest` /*!40100 DEFAULT CHARACTER SET gbk */ | +----------+----------------------------------------------------------------+

4. 數據庫刪除:

DROP DATABASE [IF EXISTS] db_ name;

執行刪除之后的結果:

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

注意:不要隨意刪除數據庫,小心炒魷魚。

5. 備份和恢復數據庫:

備份語法:

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

示例:將mytest庫備份到文件(退出連接)

mysqldump -P3306 -u root -p123456 -B mytest > ./mytest.sql

這時,可以打開看看 mytest.sql 文件里的內容,其實把我們整個創建數據庫,建表,導入數據的語句都裝載這個文件中。

還原語法:

mysql> source D:/mysql-5.7.22/mytest.sql;

同時備份多個數據庫:

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

備份一張表:

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

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

6. 查看連接情況:

語法:

show processlist

示例:

mysql> show processlist; +----+------+-----------+------+---------+------+-------+------------------+ | Id | User | Host | db | Command | Time | State | Info | +----+------+-----------+------+---------+------+-------+------------------+ | 2 | root | localhost | test | Sleep | 1386 | | NULL | | 3 | root | localhost | NULL | Query | 0 | NULL | show processlist | +----+------+-----------+------+---------+------+-------+------------------+

可以告訴我們當前有哪些用戶連接到我們的MySQL,如果查出某個用戶不是你正常登陸的,很有可能你的數據庫被人入侵了。以后大家發現自己數據庫比較慢時,可以用這個指令來查看數據庫連接情況。

總結

以上是生活随笔為你收集整理的MySQL库的操作的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。