MYSQL基本操做命令

    MYSQL基本操做:php

        RDBMS功能:mysql

            一、数据库建立、删除除sql

            二、建立表、删除表、修改表数据库

            三、索引的建立、删除apache

            四、用户和权限bash

            五、数据增、删、改服务器

            六、查询socket

        Mysql登陆命令:ide

            -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客户端与服务器交互方式:

            一、交互式模式

            二、批处理模式:执行mysql脚本

                交互式模式中的命令类别:

                   2. 一、客户端命令

                   2. 二、 服务器端命令:都必须使用语句结束符,默认为分号;

        数据库数据类型:

            一、字符型:

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

                VARCHAR(n):小于等于n的可变长度,最大65536个字符

                BINARY(n):区分大小写的固定长度

                VARBINARY(n):区分大小写的可变长度

                TEXT(n):文本格式大对象,批量数据

                BLOB(n):二进制格式大对象

            二、数值型:

                2.一、整型:

                    TINYINT:1个字节的范围,即8位(范围在-128到128之间)

                    SMALLINT:2个字节

                    MEDIUMINT:3个字节

                    INT:4个字节

                    BIGINT:5个字节

                2.二、浮点型:

                    FLOAT

                    DOUBLE

            三、修饰符:

                UNSIGNED:正数或0

                NOT NULL:不能为空

            四、 日期时间:

                DATE

                TIME

                DATETIME

                STAMP:时间戳


        数据库语言,MYSQL经常使用命令:

            一、DDL:Data Defination Lanuage: 数据定义语言

                CREATE, ALTER, DROP

               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.二、删除数据库:

                DROP DATABASE [IF EXISTS] db_name;

mysql> DROP DATABASE IF EXISTS jmmj; # 假如存在则删除该数据库

                1.三、建立表:

                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.四、查看某数据库中的表:

                SHOW TABLES FROM db_name;

mysql> SHOW TABLES FROM jmmj; # 查看数据库jmmj中的表

                1.五、查看数据库中的表结构:

                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.六、 删除表命令:

                DROP TABLE tb_name;

                1.七、修改表命令:

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)

           二、 DML:Data Manapulate Language: 数据操做语言

                INSERT, REPLACE, UPDATE, DELETE

               2.一、 插入表中的行命令:

                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.二、 更新表中的行命令:

                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.三、  删除表中的行命令:

                DELETE FROM tb_name WHERE CONDITION;

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

           三、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)

           四、DCL:Data Control Language: 数据控制语言

                GRANT, REVOKE

               4.一、授予权限命令:

                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.二、撤销权限命令:

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

                4.三、查看受权命令:

                SHOW GRANTS FOR 'USERNAME'@'HOST';

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

           五、MYSQL用户管理:

               5.一、用户存放位置:

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.二、建立用户命令:

                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.三、删除用户命令:

                DROP USER 'USERNAME'@'HOST';

mysql> DROP USER lee@'%';

                 5.四、设定、修改用户密码:

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

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

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

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

           六、MYSQL图形客户端工具:

        一、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了

        二、Workbench

        三、MySQL Front

        四、Navicat for MySQL

        五、Toad

相关文章
相关标签/搜索