記一次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 【需要在某個字段後面插入的字段名稱】
如,我現在需要在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魔鬼實訓