1. 程式人生 > >CentOS6.8 x86_64bit MySQL簡單語句應用

CentOS6.8 x86_64bit MySQL簡單語句應用

values arch -s flush gin 索引類型 查看版本 restart mysql密碼

1.mysql多實例登陸
mysql -uroot -p‘123456‘ -S /data/3306/mysql.sock

2.查看版本及登陸用戶
select version();
select user();

3.創建GBK字符集數據庫rich2
create database rich2 CHARACTER SET = gbk COLLATE = gbk_chinese_ci;
show create database rich2; //查看創建的數據庫rich2

4.創建用戶rich2並管理數據庫rich2所有權限
grant all on . to rich2@localhost identified by ‘123456‘;

5.查看當前數據庫裏有哪些用戶
select user,host from mysql.user;

6.進入rich2數據庫
use rich2;

7.創建innodb引擎字符集為GBK表test,字段為id和name varchar(16),查看建表結構及SQL語句
CREATE TABLE test (
id int(4) DEFAULT NULL,
name varchar(16) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=gbk

show create table test; //查找創建的表test

8.插入一條數據1,abcd
insert into test values(1,‘abcd‘);

9.批量插入數據2,你好,3,richrich
insert into test values(2,‘你好‘),(3,‘richrich‘);
select * from test; //查看test表所有數據

10.查詢名為richrich的記錄,id大於1的記錄
select from test where name=richrich‘;
select
from test where id>1;

11.將id大於1的名字richrich改為hello
update test set name=‘hello‘ where id=1;
select * from test;

12.在字段name前插入age字段,類型為int(4)
desc test; //查看表結構
alter table test add age int(4) after id;

13.備份rich2庫及mysql庫
mysqldump -uroot -p‘123456‘ -S /data/3306/mysql.sock --events -B rich2 mysql >/opt/bak_db_rich2_mysql.sql

14.刪除表中的所有數據並查看
truncate table test; //清空表
desc test; //查看表結構
select * from test;//查看表test中所有的內容
show tables;//查看當前庫中所有的表

15.刪除數據庫rich2並查看
show databases;
drop database richy2;

16.在命令行恢復以上刪除的數據
mysql -uroot -p‘123456‘ -S /data/3306/mysql.sock </opt/bak_db_rich2_mysql.sql

17.把GBK字符集修改為UTF8
將備份的數據文件裏面的gkb替換為utf8在還原到數據庫中,命令行更改字符集,securecrt更改;
sed -i ‘s#gbk#utf8#g‘ /opt/bak_db_rich2_mysql.sql
mysql -uroot -p‘123456‘ -S /data/3306/mysql.sock </opt/bak_db_rich2_mysql.sql

18.mysql密碼丟失找回
停止數據庫,跳過授權表啟動,登陸數據庫並修改密碼,最後在配置件裏修改成新的密碼重啟數據庫
mysqld_safe --default-file=/data/3306/my.cnf --skip-grant-table &
mysql -S /data/3306/mysql.sock
update mysql.user set password=password(‘123456‘) where user=‘root‘ and host=‘localhost‘;
flush privileges;
vim /data/3306/my.cnf ---->mysql_pwd=‘123456‘
/data/3306/mysql restart

19.中文數據亂碼原理及如何防止亂碼
mysql數據庫配置文件設置支持中文的字符集,終端設置支持中文的配置

20.設置id為主鍵,在name字段上創建普通索引
use rich2;
alter table test add primary key(id);//改表增加主鍵id
alter table test add index name(name);//改表增加索引name
desc test;//查看表結構

21.在字段name後插入手機號字段(shouji),類型char(11)
alter table test add shouji char(11) after name;

22.在所有字段上插入2條記錄,數據任意
insert into test values(4,18,‘rich‘,11111111111),(5,28,‘tomn‘,22222222222);
update test set shouji=‘33333333333‘ where id<4;
update test set shouji=‘44444444444‘ where id<3;
update test set shouji=‘55555555555‘ where id<2;

23.在shouji字段上對前8個字符創建普通索引
alter table test add index shouji(shouji(8));

24.查看創建的索引及索引類型等信息
show index from test;
show index from test\G

25.刪除name,shouji列的索引
alter table test drop index name;
alter table test drop index shouji;

26.對name列的前6個字符以及shouji前8個字符組建聯合索引
alter table test add index lianhe(name(6),shouji(8));

27.查詢shouji以135開關,名字為rich的記錄,提前插入記錄
insert into test values(6,38,‘rich‘,13567894561);
select from test where name=‘rich‘;
select
from test where name=‘rich‘ and shouji like ‘135%‘;

28.查詢上述語句的執行計劃(是否使用聯合索引等)

  • explain select * from test where name=‘rich‘ and shouji like ‘135%‘;

CentOS6.8 x86_64bit MySQL簡單語句應用