程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> 7.Mariadb(mysql)基本操作,7.mariadbmysql

7.Mariadb(mysql)基本操作,7.mariadbmysql

編輯:MySQL綜合教程

7.Mariadb(mysql)基本操作,7.mariadbmysql


1.:安裝與初始化

1)安裝 

yum install -y mariadb\*

 

 

2)初始化

systemctl restart mariadb

systemctl enable  mariadb

mysql_secure_installation

查看數據庫版本:select 'version' ;

除設置密碼外,一直摁"y"。

 

 

2.對數據庫的操作

1)查庫:show databases;

2)創庫:create database 庫名;

3)刪庫:drop database 庫名;

4)進庫:use 庫名;

 

 

 

3.創建表

(1)了解常見數據類型

日期和時間數據類型

 

MySQL數據類型

含義

date

3字節,日期,格式:2014-09-18

time

3字節,時間,格式:08:42:30

datetime

8字節,日期時間,格式:2014-09-18 08:42:30

timestamp

4字節,自動存儲記錄修改的時間

year

1字節,年份

整數型

MySQL數據類型

含義(有符號)

tinyint

1字節,范圍(-128~127

smallint

2字節,范圍(-32768~32767

mediumint

3字節,范圍(-8388608~8388607

int

4字節,范圍(-2147483648~2147483647

bigint

8字節,范圍(+-9.22*1018次方)

bigint

8字節,范圍(+-9.22*1018次方)

浮點型

MySQL數據類型

含義

float(m, d)

4字節,單精度浮點型,m總個數,d小數位

double(m, d)

8字節,雙精度浮點型,m總個數,d小數位

decimal(m, d)

decimal是存儲為字符串的浮點數

字符串數據類型

MySQL數據類型

含義

char(n)

固定長度,最多255個字符

varchar(n)

可變長度,最多65535個字符

tinytext

可變長度,最多255個字符

text

可變長度,最多65535個字符

mediumtext

可變長度,最多224次方-1個字符

longtext

可變長度,最多232次方-1個字符

 

(2) create table 表名

 (

 列名1 數據類型,

 列名2 數據類型,

 列名3 數據類型

 );

實例:create table list 

        (

                          id int,

        name varchar(50),

    passwd varchar(100)

 );

 

 

 

4 .查看表數據結構:desc 表名;

 

5.查詢數據庫內表詳情;show tables ; !!!(查之前,要進入相應的庫use 庫名;)

 

6.刪除一個表:drop table 表名;

 

 

7.修改表

(1)重命名表:

alter table 舊表名 rename 新表名;

(2)向表中添加一列:

alter table 表名 add  要添加的列名 數據類型; 

(3)刪除表中的一列:

alert table 表名 drop column 被刪的列名;

(4)修改一個列的數據類型:

alter table 表名 modify 列名 數據類型;

(5)重命名一個列:

alter table 表名 change column  舊列名 新列名 數據類型;

 

 

8.向表中插入語句

(1)向表中全部列都插入一條記錄:

insert into 表名稱 values (值1,值2,值3);

例:insert into name values (99,'zhangsan','zhangsan-passwd');

(2)指定列插入一條記錄:

insert into 表名稱(列1,列3) values (值1,值3);

例:insert into name(username,password) values (lisi,lisi-passwd);

 

 

9.查詢數據

(1)從表格中查詢數據記錄:

查詢表中全部列的數據記錄:select * from 表名稱;

例: select * from name;

(2)查詢表中指定列的數據記錄:select 列名1,列名2,列名3  from 表名稱;

例: select username,password from name;

 

10.按條件查詢數據

select 列名稱 from 表名 where 指定列 運算符 值; (滿足條件則列出指定表的一行!"*"代表所有!)

例:select * from name where id=3 ;

     select username,password from name where id=3 ;

     select username,password from name where id>3;

     select username,password from name where id<3;

     select username,password from name where id<>3;  不等於

     select username,password from name where id>=3;

     select username,password from name where id<=3;

   

11.刪除一條記錄:

(1)刪除表中全部記錄:delete  *   from 表名稱:

例:delete * from name;

(2)刪除表中指定的記錄:delete from 表名稱 where 列名 運算符 值:

例:delete from name where id=3;     !注意字符串需要單引號!

 

12.更新一條記錄

(1)從表中更新一條記錄:update 表名稱 set 列名稱=新值 where 列=值;

(2)mysql管理員密碼丟失找回:

               1.關閉數據庫:systemctl stop mariadb

               2.mysqld_safe --skip-grant-tables --user=mysql &

               3.進入數據庫 mysql 直接進去 ,在數據庫內更改用戶密碼:update mysql.user set password=password("新密碼") where user='root' and host='localhost' ;    注!更新完畢,要使用 flush privileges ;刷新數據庫,並推出 \q 。

               4.mysqladmin -u root -p shutdown 注意!!在此處輸入更新了的密碼,然後  重啟數據庫: systemctl restart mariadb

公式: update name set 變量名='值' where 判斷條件 and 判斷條件;

 

13.返回結果去除重復項:

 select distinct 列名稱 from 表名稱;

例:select distinct username from name;

 

14.where條件中使用邏輯組合:

select * from 表名稱 where  列名1='值1'  and 列名2='值2';   必須滿足and前後兩個條件 ==》為真

select * from 表名稱 where  列名1='值1' or 列名2='值2';   必須滿足or前後的某一個條件 ==》為真

例:select * from name where username=zhangsan and id=1 ;

    select * from name where username=zhangsan or id=0 ; 

 

15.對查詢結果進行排序:

(1)從小到大排序:select * from 表名稱 order by 列名稱; 

例:select * from name order by  id;

(2)從大到小排列:select * form 表名稱 order by 列名稱;    desc; 注意desc在這裡是”倒序”的意思!

例:select * from name order by  id desc;

 

16.mariadb用戶管理

(1)創建一個mariadb數據庫用戶:

create user 用戶名  identified by '密碼' ;

例:create user Luigi identified by 'redhat-passwd';

!使用 flush privileges ;刷新!

(2)刪除一個用戶:drop user 用戶名;

例:drop user Luigi;

 !使用 flush privileges ;刷新!

(3)重命名用戶:rename user 原用戶名 to 新用戶名;

例: rename user Luigi to Natasha;

 !使用 flush privileges ;刷新!      

 (4)修改用戶密碼:

①修改當前用戶密碼:set PASSWORD=PASSWORD('新密碼');

例 : set PASSWORD=PASSWORD('redhat-passwd');

!使用 flush privileges ;刷新!

②修改指定用戶密碼:set PASSWORD for 用戶名=PASSWORD('新密碼');

例:set PASSWORD for zhangsan=PASSWORD('zhangsan-passwd');

!使用 flush privileges ;刷新!

 

17.權限管理

(1)權限分類:1.檢查用戶是否能連接主機。

                  2.是否有操作數據庫的權限。

(2)授權層級:1.全局層級

                  2.數據庫層級 

                  3.表層級

                  4.列層級

                  5.子程序層級

(3)使用grant指令授予用戶權限,使用revoke撤銷用戶權限

①授予一個用戶權限grant 權限 on 層級 to '用戶名'@'主機名'  identified by '密碼';

例:授予Luigi對全部數據庫的全部管理權限:grant all  on  *.* to 'Luigi'@'%' identified by 'redhat';

!使用 flush privileges ;刷新!

     授予Luigi對centos數據庫的本地查詢權限:grant select  on  centos.* to 'Luigi'@'localhost' identified by 'redhat';

!使用 flush privileges ;刷新!

②撤銷一個用戶的權限:revoke all privileges from 用戶名;

 例:revoke all privileges from  Luigi;

!使用 flush privileges ;刷新!

(4)主機連接認證:grant all privileges on  *.* to '用戶'@'主機名' identified by '用戶密碼';

      例:grant all privileges on  *.* to 'Luigi'@'*.example.com' identified by 'redhat';

!使用 flush privileges ;刷新!

 

18.簡單備份與恢復:

(1)備份一個指定的數據庫:mysqldump -u root -p 數據庫名稱 > /備份的路徑/備份文件 

例:mysqldump -u root -p rhce > /root/rhce.sql

(2)恢復一個數據庫:mysql -u root -p  數據庫的名稱  < /備份的路徑/數據庫名稱

例 : mysql -u root -p rhce   < /root/rhce.sql  

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved