MySQL基本命令

mysql安裝方式
mysql安裝方式有三種,一種是rpm方式安裝,一種是源碼編譯安裝,一種是通用二進制格式包安裝。

rpm方式安裝,可以直接使用yum命令安裝或者下載rpm包后再安裝

yum安裝命令:
yum -y install mysql-server
系統會自動解決依賴關系,并將mysql客戶端也安裝上。

mysql交互模式中的命令類別:
客戶端命令:在客戶端執行的命令

服務器命令:在服務器上執行,并將結果返回給客戶端。必須使用語句結束符,默認為封號“;”

mysql數據庫

MySQL基本命令

mysql安裝完成后,默認有3個數據庫
information_schema:是mysql運行過程中位于內存中的信息,保存mysql運行時數據,只有mysql啟動時才有數據,平時是空的。

test:測試時才用到的數據庫

mysql:mysql 的數據庫

MySQL數據庫目錄:

[root@host2?~]#?ls?/var/lib/mysql/  ibdata1??ib_logfile0??ib_logfile1??mysql??mysql.sock??test

可以看到沒有information_schema數據庫,因為它是存在內存中的。

MySQL常用命令:

DDL:定義數據庫對象:
CREATE:

ALTER:

DROP:

DML:數據操縱語言
INSERT

UPDATE

DELETE

DCL數據控制語言
GRANT:

REVOKE:

創建數據庫:
CREATE DATABASE db_name;

CREATE DATABASES IF NOT EXISTS testdb;?

mysql>?CREATE?DATABASE?test_db;  Query?OK,?1?row?affected?(0.00?sec)  mysql>?SHOW?DATABASES;  +--------------------+  |?Database???????????|  +--------------------+  |?information_schema?|  |?mysql??????????????|  |?test???????????????|  |?test_db????????????|  +--------------------+  4?rows?in?set?(0.01?sec)

刪除數據庫:

DROP DATABASE db_name;

mysql>?DROP?DATABASE?test_db;  Query?OK,?0?rows?affected?(0.00?sec)  mysql>?SHOW?DATABASES;  +--------------------+  |?Database???????????|  +--------------------+  |?information_schema?|  |?mysql??????????????|  |?test???????????????|  +--------------------+  3?rows?in?set?(0.00?sec)

創建表:
CREATE TABLE tb_name(col1,col2,…) col1,col2為字段名

注意:表是依賴于數據庫的,所以在創建表之前,一定要指定默認數據庫,使用命令
USER DATABASE; 來指定數據庫
創建一個表,名為student,包含三個字段,Name、Age、Gender

mysql>?CREATE?TABLE?students(Name?CHAR(20)?NOT?NULL,?Age?TINYINT?UNSIGNED,Gender?CHAR(1)?NOT?NULL);  Query?OK,?0?rows?affected?(0.01?sec)  mysql>?SHOW?TABLES;  +-------------------+  |?Tables_in_test_db?|  +-------------------+  |?students??????????|  +-------------------+  1?row?in?set?(0.00?sec)

查看某個數據庫中的表:
SHOW TABLES FROM db_name;

查看表結構:
DESC table_name;

mysql>?DESC?students;  +--------+---------------------+------+-----+---------+-------+  |?Field??|?Type????????????????|?Null?|?Key?|?Default?|?Extra?|  +--------+---------------------+------+-----+---------+-------+  |?Name???|?char(20)????????????|?NO???|?????|?NULL????|???????|  |?Age????|?tinyint(3)?unsigned?|?YES??|?????|?NULL????|???????|  |?Gender?|?char(1)?????????????|?NO???|?????|?NULL????|???????|  +--------+---------------------+------+-----+---------+-------+  3?rows?in?set?(0.00?sec)

刪除表:
DROP TABLE tb_name;

修改表:
ALTER TABLE tb_name;

MODIFY:修改某個字段,修改字段屬性,字段名不改

CHANGE:改變某個字段,改變字段名稱

ADD:添加字段

DROP:刪除字段

可以通過help命令查詢幫助信息:

help CREATE TABLE;

增加一個字段
例如:修改前面創建的student表,增加一個字段課程course,

mysql>?ALTER?TABLE?students?ADD?course?VARCHAR(100);  Query?OK,?0?rows?affected?(0.00?sec)  Records:?0??Duplicates:?0??Warnings:?0  mysql>?DESC?students;  +--------+---------------------+------+-----+---------+-------+  |?Field??|?Type????????????????|?Null?|?Key?|?Default?|?Extra?|  +--------+---------------------+------+-----+---------+-------+  |?Name???|?char(20)????????????|?NO???|?????|?NULL????|???????|  |?Age????|?tinyint(3)?unsigned?|?YES??|?????|?NULL????|???????|  |?Gender?|?char(1)?????????????|?NO???|?????|?NULL????|???????|  |?course?|?varchar(100)????????|?YES??|?????|?NULL????|???????|  +--------+---------------------+------+-----+---------+-------+  4?rows?in?set?(0.00?sec)

修改字段名稱,例如將上面添加的course字段名改為Course

mysql>?ALTER?TABLE?students?CHANGE?course?Course?VARCHAR(100);  Query?OK,?0?rows?affected?(0.00?sec)  Records:?0??Duplicates:?0??Warnings:?0  mysql>?DESC?students;  +--------+---------------------+------+-----+---------+-------+  |?Field??|?Type????????????????|?Null?|?Key?|?Default?|?Extra?|  +--------+---------------------+------+-----+---------+-------+  |?Name???|?char(20)????????????|?NO???|?????|?NULL????|???????|  |?Age????|?tinyint(3)?unsigned?|?YES??|?????|?NULL????|???????|  |?Gender?|?char(1)?????????????|?NO???|?????|?NULL????|???????|  |?Course?|?varchar(100)????????|?YES??|?????|?NULL????|???????|  +--------+---------------------+------+-----+---------+-------+  4?rows?in?set?(0.00?sec)

刪除一個字段:
DROP col_name;

插入數據:?

INSERT??INTO??tb_name?(col1,col2,...)?VALUES|VALUE?('STRING',NUM...);

上面命令意思是:往某個表中插入數據,字段名為col1,col2,… 插入的值為字符串則,用引號引起來,如果為數值,則直接用數字。如果每一個字段都給值,則不用寫字段名稱

例如:在students表中插入兩條數據,張三和李四

mysql>?INSERT?INTO?students?(Name,Gender)?VALUE?('ZhangSan','M'),('LiSi','F');  Query?OK,?2?rows?affected?(0.00?sec)  Records:?2?Duplicates:?0?Warnings:?0

查看數據

mysql>?SELECT?*?FROM?students;  +----------+------+--------+--------+  |?Name?????|?Age??|?Gender?|?Course?|  +----------+------+--------+--------+  |?ZhangSan?|?NULL?|?M??????|?NULL???|  |?LiSi?????|?NULL?|?F??????|?NULL???|  +----------+------+--------+--------+  2?rows?in?set?(0.01?sec)

插入一個用戶,所有字段都有值:
注意,所有字段都有值,就不需要指定字段名

mysql>?INSERT?INTO?students?VALUES?('ZengChengpeng',28,'M','IT');  Query?OK,?1?row?affected?(0.00?sec)  mysql>?SELECT?*?FROM?students?WHERE?Name='ZengChengpeng';  +---------------+------+--------+--------+  |?Name??????????|?Age??|?Gender?|?Course?|  +---------------+------+--------+--------+  |?ZengChengpeng?|???28?|?M??????|?IT?????|  +---------------+------+--------+--------+  1?row?in?set?(0.00?sec)

修改數據:

UPDATE tb_name SET column=value WHERE 條件

例如:將ZengChengpeng的Course課程名稱改為Develop

mysql>?UPDATE?students?SET?Course='Develop'?WHERE?Name='ZengChengpeng';  Query?OK,?1?row?affected?(0.00?sec)  Rows?matched:?1??Changed:?1??Warnings:?0  mysql>?SELECT?*?FROM?students?WHERE?Name='ZengChengpeng';  +---------------+------+--------+---------+  |?Name??????????|?Age??|?Gender?|?Course??|  +---------------+------+--------+---------+  |?ZengChengpeng?|???28?|?M??????|?Develop?|  +---------------+------+--------+---------+  1?row?in?set?(0.00?sec)

SELETE語句:

selete語句分為兩種情況,

選擇:指定以某字段作為搜索碼,做邏輯比較,篩選符合條件的行。WHERE指定選擇條件  ????  投影:指定以某字段作為搜索碼,做邏輯比較,篩選符合條件的字段。  mysql>?SELECT?Name,Course?FROM?students?WHERE?Gender='M';???  +---------------+---------+  |?Name??????????|?Course??|  +---------------+---------+  |?ZhangSan??????|?NULL????|  |?ZengChengpeng?|?Develop?|  +---------------+---------+

刪除數據:
DELECT FROM tb_name WHERE 條件;

創建用戶:
CREATE USER ‘USERNAME’@’HOST’ IDENTIFIED BY ‘PASSWORD’;?
刪除用戶:
DROP USER ‘USERNAME’@’HOST’;

HOST:

IP:

HOSTNAME:

NETWORK:

通配符: 通配符用引號引起來

_:下劃線匹配任意單個字符:例如172.16.0._

%:匹配任意字符:

jerry@’%’?

用戶權限:
添加權限:
GRANT pri1,pri2,… ON DB_NAME.TB_NAME TO ‘USERNAME’@’HOST’ [IDENTIFIED BY ‘PASSWORD’];
pri1 pri2表示權限名稱,所有權限用ALL PRIVILEGES表示
取消權限:
REVOKE pri1,pri2,… ON DB_NAME.TB_NAME FROM ‘USERNAME’@’HOST’;

創建用戶示例:

mysql>?CREATE?USER?'jerry'@'%'?IDENTIFIED?BY?'jerry';

查看用戶授權:
SHOW GRANTS FOR ‘USERNAME’@’HOST’;

mysql>?SHOW?GRANTS?FOR?jerry@'%';  +------------------------------------------------------------------------------------------------------+  |?Grants?for?jerry@%???????????????????????????????????????????????????????????????????????????????????|  +------------------------------------------------------------------------------------------------------+  |?GRANT?USAGE?ON?*.*?TO?'jerry'@'%'?IDENTIFIED?BY?PASSWORD?'*09FB9E6E2AA0750E9D8A8D22B6AA8D86C85BF3D0'?|  +------------------------------------------------------------------------------------------------------+

示例:給jerry用戶test_db這個數據庫所有表的所有權限

mysql>?GRANT?ALL?PRIVILEGES?ON?test_db.*?TO?'jerry'@'%';  Query?OK,?0?rows?affected?(0.00?sec)  mysql>?SHOW?GRANTS?FOR?'jerry'@'%';  +------------------------------------------------------------------------------------------------------+  |?Grants?for?jerry@%???????????????????????????????????????????????????????????????????????????????????|  +------------------------------------------------------------------------------------------------------+  |?GRANT?USAGE?ON?*.*?TO?'jerry'@'%'?IDENTIFIED?BY?PASSWORD?'*09FB9E6E2AA0750E9D8A8D22B6AA8D86C85BF3D0'?|  |?GRANT?ALL?PRIVILEGES?ON?`test_db`.*?TO?'jerry'@'%'???????????????????????????????????????????????????|  +------------------------------------------------------------------------------------------------------+  2?rows?in?set?(0.00?sec)

取消所有權限:

mysql>?REVOKE?ALL?PRIVILEGES?ON?test_db.*?FROM?jerry@'%';  Query?OK,?0?rows?affected?(0.00?sec)  mysql>?SHOW?GRANTS?FOR?'jerry'@'%';??????????????????????  +------------------------------------------------------------------------------------------------------+  |?Grants?for?jerry@%???????????????????????????????????????????????????????????????????????????????????|  +------------------------------------------------------------------------------------------------------+  |?GRANT?USAGE?ON?*.*?TO?'jerry'@'%'?IDENTIFIED?BY?PASSWORD?'*09FB9E6E2AA0750E9D8A8D22B6AA8D86C85BF3D0'?|  +------------------------------------------------------------------------------------------------------+  1?row?in?set?(0.00?sec)

以上就是MySQL基本命令的內容,更多相關內容請關注PHP中文網(www.php.cn)!

? 版權聲明
THE END
喜歡就支持一下吧
點贊9 分享