記一次Mysql魔鬼實訓

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 【需要在某個字段後面插入的字段名稱】

如,我現在需要在baidu表中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 & 啓動數據庫服務(不推薦此種方式)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章