1. 程式人生 > >Linux安裝MySQL及基本操作(Centos)

Linux安裝MySQL及基本操作(Centos)

安裝:

系統:CentOS-7-x86_64-DVD-1810.iso
安裝命令:
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
yum install mysql-server
修改許可權:
sudo chown -R root /var/lib/mysql
重啟伺服器:
service mysqld restart

登入登出

首次登入(無密碼登入):
首次登入進行密碼的修改(密碼設定)
mysql -u root

修改密碼:
1.進入MySQL資料表:

use mysql
2.修改root密碼(更新表)
update user set password=password('proot') where user='root';
3.資料重新整理
flush privileges;
正常登入:
引數為:-u使用者名稱 -p密碼
mysql -uroot -pproot
登出:
exit

查詢版本資訊

select version();

使用者及許可權

進入mysql資料庫:
use mysql
建立使用者:
將資料庫dongdb的所有表的所有許可權賦予個新建使用者:賬號為root2密碼為proot2的使用者
在centos上需要再建立一個localhost使用者
grant all on dongdb.* to 'root2'@'%' identified by 'proot2';
查詢所有使用者:
得到所有使用者的使用者名稱和網路許可權  
select distinct concat('DongUser: ',user,'''@''',host) AS query FROM mysql.user;
刪除使用者:

通過使用者名稱和網路許可權兩個條件進行使用者刪除

drop user 使用者名稱@'%';
drop user 使用者名稱@localhost;

資料庫基本操作

檢視資料庫:
檢視當前使用者可操作的所有資料庫名
show databases;
進入某個資料庫:
use 資料庫名;
檢視某個資料庫裡的所有表名:
show tables;
建立資料庫
建立dongdb資料庫並設定編碼集為utf8,編碼集也可為gbk
create database dongdb charset utf8;
檢視資料庫dongdb編碼集:
show create database dongdb;
刪除資料庫:
drop database 資料庫名;

資料表基本查詢

先進入需要操作的資料庫,進行以下內容
建立資料表:
建立tb_dong資料表,其中auto_increment為設定id欄位自增,primary key為設定主鍵欄位
mysql> create table tb_dong(
    -> id int not null auto_increment,
    -> name char(10) not null,
    -> user char(11),
    -> primary key(id));
檢視建立表的SQL語句:
show create table tb_dong2;
查看錶結構:
檢視tb_dong資料表的表結構
desc tb_dong;
新增欄位:
為tb_dong表新增sex欄位,並設定條件為內容只能為M或F且值不能為空
alter table tb_dong add sex enum("M","F") not null
設定欄位預設值,會更改原表資料
alter table tb_dong add otherx char(11) default "dongdong";
修改欄位資料條件:
alter table tb_dong modify otherx char(13) not null;
修改欄位名及資料條件:
將欄位名otherx修改為otherxxx
alter table tb_dong change otherx otherxxx char(13) default "dong";
刪除欄位:
刪除tb_dong表中的user欄位
alter table tb_dong drop user;
新增外來鍵:
在需要新增外來鍵的表需要先建立存放外來鍵的欄位
在表更改資料時會檢查外來鍵值是否存在,不存在則不能更改,被連結的外來鍵表也不能刪除已經存在真正存在外來鍵關係的行,除非外來鍵關係的行被新增外來鍵的表刪除。
其中tb_dong2和dong1_id為需要新增的外來鍵的表名和存放外來鍵的欄位名,dong2fk為外來鍵名,可任意取值;tb_dong和id為連結的外來鍵表和欄位。
alter table tb_dong2 add foreign key dong2fk(dong1_id) references tb_dong(id);
刪除外來鍵:
先檢視檢視建立表的SQL語句,然後更加里面的外來鍵名進行外來鍵刪除

alter table tb_dong2 drop foreign key tb_dong2_ibfk_1;
索引:
提高查詢速度,與查詢欄位建立連線,預設表的主鍵就已經建立了索引
查詢:
show index from tb_dong;
建立:
給表tb_dong的name欄位新增索引,其中dongind為索引的名稱,任意取名,10為欄位的長度
create index dongind on tb_dong(name(10));
刪除:
drop index dongind on tb_dong;

資料增刪改查

插入資料

insert into tb_dong(name,sex) values("dongxiao","M");

 更新資料

update tb_dong set name="xiaoxiao",sex="F" where id= 1;
刪除資料:
delete from tb_dong where id= 2;
查詢所有資料:
select * from tb_dong;
條件查詢:
其中order by為查詢結果排序,asc為升序,desc為降序
select id,sex from tb_dong where sex="F" order by id desc;
分組統計:
select sex,count(*) as sexnum  from tb_dong group by sex;
重新整理資料:
資料表操作完畢後,及時重新整理資料,提高資料的實時性
flush privileges;
事物的使用:
實現操作的成批處理,事物錯誤回退必須手動執行rollback,即使在系列操作中出現語法錯誤,依然不影響事物正確提交
開始事物:
begin;
系列操作:
可以進行增刪改查的系列操作,每一步操作都會立即返回操作結果,但此時增刪改的結果並未正真存入資料庫中
insert into tb_dong values(7,"dongxiao7","F");
....
手動錯誤回退:
rollback;
提交事物:
commit;