1. 程式人生 > >記一次Mysql魔鬼實訓

記一次Mysql魔鬼實訓

設置 分享 add onf 數據庫 9.png where con mysqldump

1.查看某個Mysql數據庫當前使用的字符集

show create database 【庫名稱】

2.查看當前書庫版本信息

#mysql -V

MariaDB [(none)]> use mysql;

MariaDB [mysql]> select version();

3.查看當前登錄的用戶

MariaDB [mysql]> select user();

4.創建GBK字符集的數據庫test1;

MariaDB [mysql]> create database test1 default charset=gbk;

5.查看某個Mysql用戶擁有的權限(show grants for [用戶@‘來源IP’])

MariaDB [mysql]> show grants for root@‘localhost‘;

6.創建user01,並授予管理 數據庫testdb權限;格式為:grant 【權限列表】on 【庫.表】【用戶@來源IP】 identified by 【密碼】

grant all on testdb.* user01@‘localhost’ identified by ‘123.com’

7.查看當前數據庫中有哪些用戶

select user from mysql.user;

8.創建一個test表,要求存儲引擎為INNODB,字符集為gbk,字段ID,長度為4,name

MariaDB [testdb]> create table test(id int(4),name varchar(16))engine=INNODB default charset=gbk;

9.查看test表結構以及表結構的SQL語句

MariaDB [testdb]> desc test

MariaDB [testdb]> show create table test\G

10.向test表插入某條數據;或者批量插入多行數據

MariaDB [testdb]> insert into test values(2,‘test02‘),(3,‘test03‘),(4,‘test04‘);

技術分享圖片

11.過濾查詢,查看某個字段下的某個名稱的記錄,如查詢test02的單行記錄

MariaDB [testdb]> select * from test where name=‘test02‘;

技術分享圖片

12.替換表中某個字段的記錄,如將id為2的名稱更改為BBB

MariaDB [testdb]> update test set name = ‘BBB‘ where id = ‘2‘;

技術分享圖片

13.在表中添加某個字段alter table 【表名稱】add 【字段名稱】【字段類型】 after 【需要在某個字段後面插入的字段名稱】

如,我現在需要在baiduI表中name字段後面加上“CCTV”字段, 類型為tinyint(2)

MariaDB [testdb]> alter table baidu add CCTV tinyint(2) after name;

技術分享圖片

14.刪除表中的某個字段(alter table 【表名稱】drop 【字段】)

MariaDB [testdb]> alter table baidu drop cctv;

15.不退出數據,完成備份testdb數據庫(system mysqldump -u【用戶】 -p【密碼】 【需要備份的數據庫名稱】> 【備份路徑/*.sql】)

MariaDB [(none)]> system mysqldump -uroot testdb > /root/testdb.sql

同理,不退出數據庫,完成數據恢復

MariaDB [(none)]> system mysql -uroot testdb < /root/testdb.sql

16.刪除表中的所有數據(delete from )

delete from test;

17.修改庫/表中的字符集alter 【庫/表】 【庫/表名稱】 default charset 【字符集】

MariaDB [testdb]> alter table baidu default charset utf8;

MariaDB [testdb]> alter table baidu default character set gbk;

MariaDB [(none)]> alter database testdb default charset=utf8;

MariaDB [(none)]> alter database testdb default character set gbk;

18.在某個設置主鍵(alter table 【表名稱】add primary key(字段))

alter table test add primary key(id)

19.在某個字段創建普通索引create index 【索引自定義名稱】 on 【表名稱】【字段】

MariaDB [testdb]> create index hexunindex on hexun(name(16));

20.在指定表中插入某個字段alter table 【表名稱】add [字段名稱/char(11)]

MariaDB [testdb]> alter table hexun add caiji char(11);

21.查看表中的索引

MariaDB [testdb]> show index from hexun;

MariaDB [testdb]> show create table hexun\G

22.查看數據表的索引類型

MariaDB [testdb]> show keys from hexun\G

23.刪除指定表中的索引(drop index 【索引名稱】on 【表名稱】)

MariaDB [testdb]> drop index hexunindex on hexun

24.修改數據表的存儲引擎(alter table 【表名稱】 engine=【存儲引擎類型】)

MariaDB [testdb]> alter table hexun engine=innodb;

25.撤回某個用戶對某個庫中的權限(revoke 【權限列表】 on 【庫.*】 from 【用戶@‘來源IP‘】)

MariaDB [testdb]> revoke select on testdb.* from zhangsan@‘localhost‘;

26,跳過mysql密碼驗證,如何找回?

#skip-grabt-tables #將此配置寫入/etc/my.conf重啟即可免密登錄

#mysqld_safe --skip-grant-tables & 啟動數據庫服務(不推薦此種方式)

記一次Mysql魔鬼實訓