MYSQL基本操作命令

    MYSQL基本操作:

        RDBMS功能:

            1、數據庫創建、刪除除

            2、創建表、刪除表、修改表

            3、索引的創建、刪除

            4、用戶和權限

            5、數據增、刪、改

            6、查詢

        Mysql登錄命令:

            -u USERNAME # 指定用戶名,不加默認爲root

            -p # 密碼,不加默認爲空

            -h MYSER_SERVER # 指定服務器,不指定默認爲localhost或者-h 127.0.0.1

# mysql -u root -p -h localhost # 回車會讓輸入密碼,mysql默認root的密碼爲空

        客戶端和服務器在同一臺機器上的連接方式:

            Linux: socket

            Windows: memory

        Mysql客戶端與服務器交互方式:

            1、交互式模式

            2、批處理模式:執行mysql腳本

                交互式模式中的命令類別:

                   2. 1、客戶端命令

                   2. 2、 服務器端命令:都必須使用語句結束符,默認爲分號;

        數據庫數據類型:

            1、字符型:

                CHAR(n):固定長度n,最大256字符

                VARCHAR(n):小於等於n的可變長度,最大65536個字符

                BINARY(n):區分大小寫的固定長度

                VARBINARY(n):區分大小寫的可變長度

                TEXT(n):文本格式大對象,批量數據

                BLOB(n):二進制格式大對象

            2、數值型:

                2.1、整型:

                    TINYINT:1個字節的範圍,即8位(範圍在-128到128之間)

                    SMALLINT:2個字節

                    MEDIUMINT:3個字節

                    INT:4個字節

                    BIGINT:5個字節

                2.2、浮點型:

                    FLOAT

                    DOUBLE

            3、修飾符:

                UNSIGNED:正數或0

                NOT NULL:不能爲空

            4、 日期時間:

                DATE

                TIME

                DATETIME

                STAMP:時間戳


        數據庫語言,MYSQL常用命令:

            1、DDL:Data Defination Lanuage: 數據定義語言

                CREATE, ALTER, DROP

               1.1、 創建數據庫:

                CREATE DATABASE db_name; 

                CREATE DATABASE [IF NOT EXISTS] db_name;

mysql> CREATE DATABASE jmmj; # 創建一個數據庫
mysql> SHOW DATABASES; # 查看所有數據庫
mysql> CREATE DATABASE IF NOT EXISTS jmmj; # 假如不存在則創建該數據庫

                1.2、刪除數據庫:

                DROP DATABASE [IF EXISTS] db_name;

mysql> DROP DATABASE IF EXISTS jmmj; # 假如存在則刪除該數據庫

                1.3、創建表:

                CREATE TABLE tb_name(col1,col2,...);

mysql> USE jmmj # 使用哪個數據庫
mysql> CREATE TABLE test(name CHAR(20) NOT NULL,age TINYINT UNSIGNED,gender CHAR(1) NOT NULL); # 創建表test

                1.4、查看某數據庫中的表:

                SHOW TABLES FROM db_name;

mysql> SHOW TABLES FROM jmmj; # 查看數據庫jmmj中的表

                1.5、查看數據庫中的表結構:

                DESC tb_name;

mysql> DESC test;
+--------+---------------------+------+-----+---------+-------+
| 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)

                1.6、 刪除表命令:

                DROP TABLE tb_name;

                1.7、修改表命令:

mysql> help ALTER TABLE; # 命令幫助

                    ALTER TABLE tb_name MODIFY|CHANGE|ADD|DROP ......

                    MODIFY:改字段屬性

                    CHANGE:改字段名稱

                    ADD:添加一個字段

                    DROP:刪除一個字段

mysql> ALTER TABLE test ADD classes VARCHAR(100) NOT NULL; # 添加一個classes的字段
mysql> DESC test; # 看看效果
+---------+---------------------+------+-----+---------+-------+
| Field   | Type                | Null | Key | Default | Extra |
+---------+---------------------+------+-----+---------+-------+
| name    | char(20)            | NO   |     | NULL    |       |
| age     | tinyint(3) unsigned | YES  |     | NULL    |       |
| gender  | char(1)             | NO   |     | NULL    |       |
| classes | varchar(100)        | NO   |     | NULL    |       |
+---------+---------------------+------+-----+---------+-------+
4 rows in set (0.00 sec)

           2、 DML:Data Manapulate Language: 數據操作語言

                INSERT, REPLACE, UPDATE, DELETE

               2.1、 插入表中的行命令:

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

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

mysql> INSERT INTO test (name,age,gender,classes) VALUE ('liming','19','m','one'); # 插入一行
mysql> INSERT INTO test VALUE ('han×××','18','m','one'); # 如果所有字段都插入則前面字段名可以省略
mysql> INSERT INTO test (name,age,gender,classes) VALUE ('lintao','19','m','one'),('tom','','m','two'); # 還可以批量插入
mysql> SELECT * FROM test; # 查看下效果
+-----------+------+--------+---------+
| name      | age  | gender | classes |
+-----------+------+--------+---------+
| liming    |   19 | m      | one     |
| han×××    |   18 | m      | one     |
| lintao    |   19 | m      | one     |
| tom       |    0 | m      | two     |
+-----------+------+--------+---------+
5 rows in set (0.00 sec)

               2.2、 更新表中的行命令:

                UPDATE tb_name SET column=value WHERE

mysql> UPDATE test SET gender='f' WHERE name='han×××'; # 修改字段name爲han×××的行的gender值爲f
mysql> SELECT * FROM test; # 查看下效果
+-----------+------+--------+---------+
| name      | age  | gender | classes |
+-----------+------+--------+---------+
| liming    |   19 | m      | one     |
| han×××    |   18 | f      | one     |
| lintao    |   19 | m      | one     |
| tom       |    0 | m      | two     |
+-----------+------+--------+---------+
5 rows in set (0.00 sec)

               2.3、  刪除表中的行命令:

                DELETE FROM tb_name WHERE CONDITION;

mysql> DELETE FROM test WHERE name='liming';

           3、SELECT:數據庫查詢語言

                查詢表命令:

                SELECT (col1,col2,...) FROM tb_name WHERE CONDITION

                *: 所有字段

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

mysql> SELECT * FROM test; # 查詢test表中的所有字段
+-----------+------+--------+---------+
| name      | age  | gender | classes |
+-----------+------+--------+---------+
| han×××    |   18 | f      | one     |
| lintao    |   19 | m      | one     |
| tom       |    0 | m      | two     |
| liming    |   20 | m      | one     |
+-----------+------+--------+---------+
4 rows in set (0.00 sec)

           4、DCL:Data Control Language: 數據控制語言

                GRANT, REVOKE

               4.1、授予權限命令:

                GRANT pri1,pri2,... ON DB_NAME.TB_NAME TO 'USERNAME'@'HOST' [IDENTIFIED BY 'PASSWORD'];

mysql> GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY '666'; # 創建(GRANT若沒有則自動創建用戶)一個可以在所有終端登錄的用戶root( root@'%'),設置密碼爲666,授予對所有庫中的所(*.*)有表所有的權限(ALL PRIVILEGES)
mysql> FLUSH PRIVILEGES; # 重讀權限

                4.2、撤銷權限命令:

                REVOKE pri1,pri2,... ON DB_NAME.TB_NAME FROM 'USERNAME'@'HOST';

                4.3、查看授權命令:

                SHOW GRANTS FOR 'USERNAME'@'HOST';

mysql> SHOW GRANTS FOR 'lee'@'%';

           5、MYSQL用戶管理:

               5.1、用戶存放位置:

mysql> SELECT User,Host,Password FROM mysql.user;
+------+-----------+-------------------------------------------+
| User | Host      | Password                                  |
+------+-----------+-------------------------------------------+
| root | localhost | *007D50CA06F69776D307B1BEC71CD73D0EA0999C |
| root | 127.0.0.1 |                                           |
| root | ::1       |                                           |
|      | localhost |                                           |
| lee  | %         | *007D50CA06F69776D307B1BEC71CD73D0EA0999C |
| root | %         | *007D50CA06F69776D307B1BEC71CD73D0EA0999C |
+------+-----------+-------------------------------------------+

                5.2、創建用戶命令:

                CREATE USER 'USERNAME'@'HOST' [IDENTIFIED BY 'PASSWORD'];

                    HOST表示方式:注意這裏的host指定的是能以此用戶登錄服務器的客戶端的範圍,%表示所有主機

                        IP:

                        HOSTNAME:

                        NETWORK:

                        通配符:

                        _:匹配任意單個字符, 172.16.0._

                        %:匹配任意字符;

mysql> CREATE USER 'lee'@'%' IDENTIFIED BY '666'; # 創建用戶lee密碼爲666,可以從任何客戶端登錄服務器

                5.3、刪除用戶命令:

                DROP USER 'USERNAME'@'HOST';

mysql> DROP USER lee@'%';

                 5.4、設定、修改用戶密碼:

                    1、mysql>SET PASSWORD FOR 'USERNAME'@'HOST'=PASSWORD('password');

mysql> SET PASSWORD FOR 'root'@'localhost'=PASSWORD('666');
mysql> FLUSH PRIVILEGES; # 重讀權限

                    2、# mysqladmin-uUSERNAME -hHOST -p password 'password'

                    3、mysql> UPDATE user SET Password=PASSWORD('password')WHERE USER='root' AND Host='127.0.0.1';

           6、MYSQL圖形客戶端工具:

        1、phpMyAdmin

# wget https://files.phpmyadmin.net/phpMyAdmin/4.7.7/phpMyAdmin-4.7.7-all-languages.zip
# unzip phpMyAdmin-4.7.7-all-languages.zip
# cp phpMyAdmin-4.7.7-all-languages /usr/local/apache/htdocs/ -rf
# mv phpMyAdmin-4.7.7-all-languages/ phpmyadmin

        http://192.168.8.8/phpmyadmin/  # 輸入對應地址即可以管理MYSQL了

        2、Workbench

        3、MySQL Front

        4、Navicat for MySQL

        5、Toad

    

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章