溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

linux下關(guān)系型數(shù)據(jù)庫(kù)解釋及mysql基本命令詳解

發(fā)布時(shí)間:2020-05-20 07:07:31 來源:網(wǎng)絡(luò) 閱讀:766 作者:willow_xia 欄目:數(shù)據(jù)庫(kù)

linux下關(guān)系型數(shù)據(jù)庫(kù)解釋及mysql基本命令詳解

1.RDBMS:關(guān)系型數(shù)據(jù)庫(kù),如下功能:

 數(shù)據(jù)庫(kù)創(chuàng)建、刪除、修改

 創(chuàng)建表、刪除表、修改表

 索引的創(chuàng)建、刪除

 用戶和權(quán)限創(chuàng)建、修改、刪除

 數(shù)據(jù)新增、刪除、修改

 查詢

2.myslq屬于關(guān)系型數(shù)據(jù)庫(kù),數(shù)據(jù)引擎命令如下:命令不區(qū)分大小寫

DML:Data Manapulate Language: 數(shù)據(jù)操作語言

  INSERT, REPLACE, UPDATE, DELETE

DDL:Data Defination Lanuage: 數(shù)據(jù)定義語言

  CREATE, ALTER, DROP

DCL:Data Control Language: 數(shù)據(jù)控制語言

  GRANT, REVOKE

SELECT:查詢命令

3.mysql客戶端登入命令:

  選項(xiàng): -u: 用戶名,默認(rèn)為root@localhost或root@127.0.0.1

          用戶名格式:USERNAME@HOST

       -p:用戶的密碼,默認(rèn)為空

       -h:mysql服務(wù)器

  例如:在mysql服務(wù)器中,本地登入服務(wù)器命令,以下兩種命令功能一樣:

     3.1.mysql

     3.2.mysql -u root -p -h localhost

  mysql客戶端分為交互式和批處理模式

     交互式模式又分為客戶端和服務(wù)器端命令類別

      客戶端命令如:quit(或\q),可輸入help或\h查詢客戶端命令

      服務(wù)器端命令:必須使用語句結(jié)束符,默認(rèn)為分號(hào);如SHOW DATABASES;

4.mysql名稱解釋;

 4.1.mysqld服務(wù)偵聽在3306/tcp端口,屬主屬組均為mysql,數(shù)據(jù)存放在/var/lib/mysql/

 4.2.關(guān)系數(shù)據(jù)庫(kù)對(duì)象:庫(kù),表,索引,視圖,約束,存儲(chǔ)過程,存儲(chǔ)函數(shù),觸發(fā)器,游標(biāo),用戶,權(quán)限,事務(wù)

 4.3.表:由多個(gè)字段field或列column和多個(gè)行row組成

 4.4.字段:由字段名稱,數(shù)據(jù)類型和類型修飾(限制)組成

 4.5.數(shù)據(jù)類型分為字符,數(shù)值,日期時(shí)間,內(nèi)置等組成

   字符:CHAR(n),VARCHAR(n),BINARY(n),VARBINARY(n),TEXT(n),BLOB(n)

           CHAR(n):    字符  ,不區(qū)分大小寫

           VARCHAR(n): 可變化字符 ,不區(qū)分大小寫

           BINARY(n):  二進(jìn)制字符 ,區(qū)分大小寫

           VARBINARY(n):  可變化二進(jìn)制字符,區(qū)分大小寫

           TEXT(n):大對(duì)象數(shù)據(jù),不區(qū)分大小寫

           BLOB(n):大對(duì)象二進(jìn)制數(shù)據(jù),區(qū)分大小寫

           注意:n代表字符長(zhǎng)度

   數(shù)值:精確數(shù)值和近似數(shù)值

      精確數(shù)值:代表有×××和十進(jìn)制

         整型:TINYINT,SMALLINT,MEDIUMINT,INT,BIGINT

            TINYINT:1個(gè)字節(jié)

            SMALLINT:2個(gè)字節(jié)

            MEDIUMINT:3個(gè)字節(jié)

            INT:4個(gè)字節(jié)

            BIGINT:8個(gè)字節(jié)

             修飾符:UNSIGNED,無符號(hào),只有0或正整數(shù)

             不為空:NOT NULL

         十進(jìn)制:DECIMAL

     近似數(shù)值:代表有浮點(diǎn)型,FLOAT和DOUBLE

   日期時(shí)間:DATE,TIME,DATETIME,STAMP

   內(nèi)置:  ENUM,SET

5.創(chuàng)建數(shù)據(jù)庫(kù)

  格式:

   CREATE DATABASE 數(shù)據(jù)庫(kù)名稱; 

   CREATE DATABASE [IF NOT EXISTS] 數(shù)據(jù)庫(kù)名稱;

  例如:創(chuàng)建數(shù)據(jù)庫(kù)mydb

    CREATE DATABASE mydb;  #如果數(shù)據(jù)庫(kù)存在,將會(huì)報(bào)錯(cuò),可用下條語句

    CREATE DATABASE IF NOT EXISTS mydb; #如果數(shù)據(jù)庫(kù)存在,將不會(huì)報(bào)錯(cuò)

    查看剛創(chuàng)建的數(shù)據(jù)庫(kù)

     SHOW DATABASES;

linux下關(guān)系型數(shù)據(jù)庫(kù)解釋及mysql基本命令詳解

6.刪除數(shù)據(jù)庫(kù)

    格式:DROP DATABASE [IF EXISTS] 數(shù)據(jù)庫(kù)名稱;

   例如:刪除數(shù)據(jù)庫(kù)mydb

    DROP DATABASE mydb;

7.創(chuàng)建表

  格式:CREATE TABLE 表名(字段1,字段2,...); 需用USE 數(shù)據(jù)庫(kù)名  #切換默認(rèn)數(shù)據(jù)庫(kù)

     CREATE TABLE 數(shù)據(jù)庫(kù)存.表名(字段1,字段2,...);

例如:創(chuàng)建表students

USE mydb;   #切換數(shù)據(jù)庫(kù)mydb為當(dāng)前默認(rèn)數(shù)據(jù)庫(kù)

CREATE TABLE students(Name CHAR(15) NOT NULL,Age TINYINT UNSIGNED,Gender CHAR(1) NOT NULL);          查看庫(kù)中的表:SHOW TABLES [FROM 數(shù)據(jù)庫(kù)名稱];默認(rèn)顯示當(dāng)前數(shù)據(jù)

linux下關(guān)系型數(shù)據(jù)庫(kù)解釋及mysql基本命令詳解

查看表的結(jié)構(gòu):DESC 表名;

        DESC students;

linux下關(guān)系型數(shù)據(jù)庫(kù)解釋及mysql基本命令詳解

        

8.刪除表:DROP TABLE 表名;

9.修改表:ALTER TABLE 表名 

         MODIFY:保留字段名稱,修改其他屬性

         CHANGE:連字段都修改

         ADD:添加字段

         DROP:刪除字段

例如:對(duì)數(shù)據(jù)庫(kù)mydb中表students添加course字段

ALTER TABLE mydb.students ADD course VARCHAR(100);

linux下關(guān)系型數(shù)據(jù)庫(kù)解釋及mysql基本命令詳解

 將course字段名稱修改成Courses

ALTER TABLE students CHANGE course Courses VARCHAR(100) AFTER Name;

  DESC studens;

linux下關(guān)系型數(shù)據(jù)庫(kù)解釋及mysql基本命令詳解


10.DML:數(shù)據(jù)操作命令:

 INSERT INTO 表名 (字段1,字段2,...) VALUES|VALUE ('字符串值', 數(shù)值,...);

 INSERT INTO 表名 (字段1,字段2,...) VALUES|VALUE ('字符串1', 數(shù)值1,...),('字符串2',數(shù)值 2,...);

 例如:插入Name字段為Willow和Amy及其Gender字段相關(guān)屬性內(nèi)容

  INSERT INTO students (Name,Gender) VALUE ('Willow','M'),('Amy','F');

  SELECT * FROM students;

linux下關(guān)系型數(shù)據(jù)庫(kù)解釋及mysql基本命令詳解


 如果不指定字段,將對(duì)所有字段賦值,如增加名字為Rob及其所有屬性

  INSERT INTO students VALUE ('Rob','CCNP',26,'M');

  SELECT * FROM students;

 linux下關(guān)系型數(shù)據(jù)庫(kù)解釋及mysql基本命令詳解

UPDATE 表名 SET 字段=值 [WHERE 條件]; 

 例如:修改Name為willow用戶的Courses字段為RHCA; 

 update students SET Courses='RHCA' WHERE Name='Willow';

linux下關(guān)系型數(shù)據(jù)庫(kù)解釋及mysql基本命令詳解

DELETE FROM 表名 WHERE 條件;

 例如:刪除名字為Amy的用戶所有數(shù)據(jù)

 DELETE FROM students WHERE Name='Amy';

 SELECT * FROM students;

linux下關(guān)系型數(shù)據(jù)庫(kù)解釋及mysql基本命令詳解

選擇:SELECT 字段 FROM 表名 WHERE 條件;

  *: 所有字段

 WHERE:沒有條件表示顯示所有行;

例如:選擇查看名字為Willow,并且只查看Name和Courses兩個(gè)字段的內(nèi)容

 SELECT Name,Courses FROM students Where Name='Willow';

 linux下關(guān)系型數(shù)據(jù)庫(kù)解釋及mysql基本命令詳解

11.創(chuàng)建用戶:

CREATE USER '用戶名'@'HOST' [IDENTIFIED BY '密碼'];

DROP USER '用戶名'@'HOST';

 HOST:表示有IP,HOSTNAME,NETWORK,通配符

    _:匹配任意單個(gè)字符, 172.16.0._

    %:匹配任意字符;

user1@'%'代表用戶user1用戶在所有主機(jī)上登入

12.DCL:數(shù)據(jù)控制命令

 GRANT 權(quán)限1,權(quán)限2,... ON 數(shù)據(jù)庫(kù)名.表名 TO '用戶名'@'HOST' [IDENTIFIED BY '密碼'];

 REVOKE pri1,pri2,... ON 數(shù)據(jù)庫(kù)名.表名 FROM '用戶名'@'HOST';

 查看用戶的授權(quán):SHOW GRANTS FOR '用戶名'@'HOST';

          ALL PRIVILEGES:代表所有權(quán)限的意思

例如:創(chuàng)建用戶willow在所有主機(jī)可登入到mysql服務(wù)器中的mydb數(shù)據(jù)庫(kù)

CREATE USER 'willow'@'%' IDENTIFIED BY 'redhat';

SHOW GRANTS FOR 'willow'@'%';

linux下關(guān)系型數(shù)據(jù)庫(kù)解釋及mysql基本命令詳解授權(quán)willow用戶對(duì)mydb數(shù)據(jù)中所有表?yè)碛兴袡?quán)限

linux下關(guān)系型數(shù)據(jù)庫(kù)解釋及mysql基本命令詳解

13.為用戶設(shè)定密碼:

 13.1.mysql>SET PASSWORD FOR '用戶名'@'HOST'=PASSWORD('密碼');

    mysql> FLUSH PRIVILEGES ; #刷新讓mysql數(shù)據(jù)庫(kù)重讀授權(quán)表

  例如:為root@localhost用戶設(shè)定密碼為redhat

  SET PASSWORD FOR 'root'@'localhost'=PASSWORD('redhat');


linux下關(guān)系型數(shù)據(jù)庫(kù)解釋及mysql基本命令詳解

 13.2.# mysqladmin -u用戶名 -hHOST -p password '密碼' #bash下命令設(shè)定密碼

   

 13.3.mysql> UPDATE user SET Password=PASSWORD('密碼') WHERE USER='root' AND            Host='127.0.0.1';

  例如:為root@127.0.0.1用戶設(shè)定密碼為redhat

 UPDATE user SET Password=PASSWORD('redhat') WHERE USER='root' AND Host='127.0.0.1';

 linux下關(guān)系型數(shù)據(jù)庫(kù)解釋及mysql基本命令詳解    13.4.建立一個(gè)root用戶擁有所有權(quán)限并且僅允許在1.1.1.0/24子網(wǎng)內(nèi)連接mysql服務(wù)器

GRANT ALL PRIVILEGES ON *.* TO 'root'@'1.1.1.%' IDENTIFIED BY 'redhat';

FLUSH PRIVILEGES;

linux下關(guān)系型數(shù)據(jù)庫(kù)解釋及mysql基本命令詳解

linux下關(guān)系型數(shù)據(jù)庫(kù)解釋及mysql基本命令詳解


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI