.数据库结构图:

 

mysql允许非本地登陆 mysql本地登录命令_数据库

 

 

   .mysql客户端登录命令

 

         命令使用格式:     mysql   选项        

 

选项:     -u   指定登录用户名称

             -p      非口密码用户登录,让mysql登录提示输入密码窗口

                   -h      指定用户远程登录mysql服务器的主机名称

                   登录mysql客户端如服务器root用户是空密码,在安装的mysql服务器直接输入Mysql即可。

 

                   如存在密码的本地登录:     mysql  -u root  -p

                  

                   如存在密码且非本地登录     mysql  -u root -h mysql服务器ip   -p

该命令前提需要mysql在建立用户时,授权用户指定允许远程登录的主机

 

如 mysql系统中root@localhost用户,只能本地Localhost登录

   space@192.168.6.%    则表示space用户允许在所有6段的主机远程连接mysql数据库

 

 

. mysql配置文件必备参数: (如果不设置该参数,mysql数据库表不支持中文)

[mysqld]                                          [mysql]

lower_case_table_names=1                          no-auto-rehash

character-set-server=utf8                                                               default-character-set=utf8

    .运维常用三种数据库命令类型

 

数据库定义语言DDL:   Data       Defination   Lanuage 

 

         Show                 查看系统数据库,查看数据库中的表, 查看用户授权

         Desc                       查看数据库中数据表结构

         Select                查看数据库中表的数据内容

         create                创建数据库,创建表,创建数据库访问用户

         Drop                  删除数据库,删除表

         Alter                  修改表      

 

 

数据库操作语言DML    Data    Manapulate  Language

         insert      对表插入新的内容

    update      更新数据表内原有的数据内容

    delete      删除表内已存在的数据内容

 

数据库控制语言DCL     Data       Control         Language

         Create               建立数据库访问用户

    delete                删除数据库访问用户

         GRANT              建立或修改用户权限

         Revoke                取消用户数据库权限

         SHOW                查看用户授权

 

 

其他类型数据库关键字:

    FLUSH  PRIVILEGES                 刷新数据库,将新配置的数据库信息同步到数据库。

 

    USE           定义接下来明确指定被操作的数据库,在use定义被操作对象的库以后,所有                                          未明确指定被操作对象的库时的mysql语句,都对use指定的对象库进行执行。

 

    FROM    用于指定此条mysql执行语句操作对象为哪张表的关键字,然后在此关键字后面指定需要                             查看的对象,是哪个数据库下的表。

 

         WHERE      指定匹配条件的关键字,数据库在进行命令执行时,会默认对所有匹配的内容进行执行                                   mysql语句,通过where关键字更细化指定被操作对象,如需要对zhangsan进行性别修改,

                            其中数据表中存在两个zhangsan用户,则需要通过where条件匹配两个zhangsan用户其                                它不同参数的列内容进行更详细的条件匹配帅选然后进行操作

       

        AND: 一般出现在where条件筛选中进行条件组合,and和, 满足条件1和条件2

        OR :or 或  使用格式:条件1  OR  条件2   满足条件1或条件2 

        NOT:not 非 使用格式    not条件,此条件以外的都算满足

 

    TABLE   表示定义被操作对象类型  table表示操作对象为表,但是在查看语句中需要添加s ,tables

 

    DATABASE  用于定义被操作对象类型  database表示操作对象为库,但在查询语句中需要添加s

 

         *       所有字段,一般在SELECT查数据内容语句中,在未明确指定查看字段中代表需要查看的所有列

 

 

   .mysql语句详细使用格式规范

 

         show 命令

(查看系统数据库,查看数据库中的表,查看用户授权等)

   

    查看系统数据库(查看mysql当前登录用户有权限操作的所有库)

使用格式: SHOW  DATABASES

                      show                      用于定义该条数据库命令操作类型,show查看命令.

                      databases     用于定义被操作对象类型  database表示操作对象为库.

                      ;                  所有数据库命令结尾需要使用分号指明结束.

 

    查看数据库中所有的表

 使用格式: SHOW  TABLES FROM  数据库名;

                      show   用于定义该条数据库命令操作类型,show查看命令.

                      tables   用于定义被操作对象类型 tables表示操作对象为数据表.

                      from     用于指定后面内容为指定被操作对象的关键字

                    数据库名 指明需要查看哪个数据库下的所有表

 

         查看用户授权

使用格式: SHOW  GRANTS  FOR  用户名@允许登录主机;

                            show   用于定义该条数据库命令操作类型,show查看命令.

                            grants  用于定义被操作对象类型       gtants表示操作对象为用户.

                            for       用于指定后面内容为指定被操作对象的关键字

         用户名@运行登录主机       mysql用户命名比较特殊,用户名和允许被登录主机分为两块组成

 

         Desc         命令           

(该命令在mysql中专门用于定义查看表字段结构的)

 

使用格式: DESC   数据库名.表名称;

                     desc       用于定义该条数据库命令操作类型,desc 查看表字段结构命令

数据库名.表名称        明确指定需要查看哪个数据库下的哪个表的结构

                                     也可以使用USE命指定被操作的库,则此处只需要直接输入表名称即可。

                                     使用格式: USE  数据库;  DESC  表名称;

Select命令    

(该命令在mysql中用于查看数据库中表数据内容)

 

使用格式:        SELECT   需要被查看的列1,列2,列3   FROM  库名称.  WHERE  =‘匹配条件’;

 

mysql允许非本地登陆 mysql本地登录命令_字段_02

         Select         定义该条数据库执行命令为查看数据库表内容命令

需要查看的列    定义需要查看数据中表下的哪些列的内容,*表示所有

         FROM        用于指定被查看对象是哪个数据库下的哪张表的

         user            因为事先使用的USE命令指定了数据库,则只需要跟表名称即可。

         WHERE      定义筛选条件的,如条件满足WHERE后面的内容则被显示,其他为满足条件的不显示

 

mysql允许非本地登陆 mysql本地登录命令_数据库_03

WHERE参数可选使用项,如果不加则默认显示全部指定查看的列,通过where可筛选只需要查看明确的列

 

Create命令

(在mysql中主要用于定义创建类型的语句,创建数据库,创建表,创建数据库访问用户等)

(然后分别已第二个字段的table和database来定义创建对象为数据库还是数据表)

 

         创建数据库

使用格式: CREATE  DATABASE  新建数据库名;

                      create   用于定义该条数据库命令操作类型,CREATE 创建命令

                     database  用于定义操作对象类型  database表示操作对象为库  

                                       然后指定新建的数据库名称即可完成创建新数据库

默认需要设置数据库支持utf-8字符集,固推荐建立数据库时使用命令:

create database db名称 CHARACTER SET utf8 COLLATE utf8_general_ci;

 

         在数据库下创建新的表

使用格式: CREATE  TABLE  数据库.新建表名(字段字段1字段类型,字段字段2字段类型,...);

                      create  用于定义该条数据库命令操作类型,CREATE 创建命令

                      table    表示定义被操作对象类型  table表示操作对象为表

 数据库.新建表名      指定是在哪个数据库下新建表,此处的数据库必须是事先存在的,新表名称则不允                                         许在指定库下已经存在,数据库与表直接用小数点做间隔符。

                     字段       用于定义表中的每个字段代表什么含义的,类似与excl表格中的列,指定每列是什                                          么,如姓名、年龄、性别等,每个字段都需要定义字段类型,然后与下一个字段使用                                逗号(,)隔开

                   字段类型   每个字段需要定义字段类型,如姓名栏需要定义该字段允许写什么类型字符,最多允                             许多少字符内容等,一个字段可定义多个不冲突的类型。

 

针对字段做功能约束:

primary key  设置为主键     unsigned    为“无符号”的意思

not null     不允许自动内容为空

auto_increment   自动增长

default 值    插入数据该字段如果未写入就自动加默认值

create table test.user(id int primary key  auto_increment,name varchar(30) not null);

mysql允许非本地登陆 mysql本地登录命令_数据库_04

在test库下建立user表,id自动为int整数型,设置为主键,设置新增用户自动增长,然后建立一个name的列,字符串类型,最多允许30个字符,不允许为空;

mysql常用字段类型整理:

 

         .时间日期数据类型:

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*10的18次方)

 

         .浮点型

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

可变长度,最多2的24次方-1个字符

longtext

可变长度,最多2的32次方-1个字符

 

         创建数据库访问用户

使用格式: CREATE  USER  ‘用户名称’@‘允许远程登录主机’ IDENTIFIED  BY  ‘密码’;

                   create        用于定义该条数据库命令操作类型,CREATE 创建命令

                   user        用于定义操作对象类型,user表示操作对象为用户

用户名称@允许远程登录主机  mysql用户命名规范比较特殊,同一个用户名不同的允许远程登录主机权限                                    不一样,后面的远程登录主机用于限制用户是否能在远程登录或者本地登录。

                   identified     用于定义设置用户帐号密码

                   by                 by跟着输入密码即可,密码需要使用单引号,防止特殊字符。

 

允许远程登录主机设置方式:、

         支持主机名、IP地址、网段

         输入格式如下:

         space@'192.168.1.%'  支持space用户在所有192.168.1网段的主机进行远程登录mysql

         space@'192.168.1.10'  只允许space用户在192.168.1.10这台主机上远程登录mysql

         space@'%'                     允许space用户在任意主机上远程连接登录mysql

 

         .Drop命令

(该命令在mysql中用于定义删除操作的命令语句,无论是表或者库都是通过该关键字进行定义,执行该命令的用户需要对执行对象具有操作权限)

 

 

         删除数据库

使用格式: drop  DATABASE  数据库名称;

                      drop         用于定义该条数据库命令操作类型,drop 删除命令

                      database   用于定义操作对象类型        database表示操作对象为库

                                         然后指定要删除的数据库名称即可完成删除指定的数据库。

         删除数据库下的某个表

使用格式: drop  table   数据库名.表名;

                       drop        用于定义该条数据库命令操作类型,drop 删除命令

           table    用于定义操作对象类型,TABLE表示操作对象为表

                                          然后指定数据库下的表名称即可完成删除指定的表。

 

 

 

Alter命令

(alter       命令修改表,支持修改的非修改表内数据内容段,而是修改数据表的信息,如;设置主键、增加新列、删除列、修改原字段名称以及类型、重命名列、添加删除索引等,主要用于调试数据表的属性信息的)

 

使用格式: alter  table   数据库名.表名  执行操作  被操作字段  [被操作对象字段属性定义]

                            alter       用于定义该条数据库命令操作类型,alter 定义修改表属性的命令

            table         表示定义被操作对象类型  table表示操作对象为表

                            表名称    指定需要被进行属性信息修改的表

            执行操作   通过该执行操作,用于定义本条命令主要修改表的什么属性信息如下:

                    add      添加新的字段                drop                 删除已存在的列

                                               modify       修改字段属性               change            改变字段名称

                    ADD  新字段     AFTER  已存在字段,指定新字段放到哪个字段后面。

                                               该命令比较复杂,可在使用该命令时候,使用HELP  ALTER  TABLE

 

事例:

 

重命名列如下图:

                   命令格式: ALTER   TABLE        mydb.aaa    CHANGE        Gender   Test    CHAP(5)

                                     alter      用于定义该条数据库命令操作类型, alter 定义修改表属性的命令

                                     table         表示定义被操作对象类型  table表示操作对象为表

                                     mydb.aaa   指定被进行属性信息修改的表  mydb库下的aaa表

                                     change       通过该执行操作,用于定义本条命令主要修改表的什么属性信息

                                                        change改变字段名称

                                     Gender       需要被改变名称的列

                                     Test            被更改列的新名称

                                     CHAR                   定义改变名称列的字段类型

mysql允许非本地登陆 mysql本地登录命令_mysql_05

 

删除列:

命令格式:  ALTER   TABLE    aaa   DROP     Age;

                   alter      用于定义该条数据库命令操作类型, alter 定义修改表属性的命令

                   table         表示定义被操作对象类型  table表示操作对象为表

                   aaa       指定被进行属性信息修改的表  mydb库下的aaa表,提前用USE指定mydb库

                   drop      通过该执行操作,用于定义本条命令主要修改表的什么属性信息,drop 删除字段

                   Age       被删除的字段名称

mysql允许非本地登陆 mysql本地登录命令_数据库_06

mysql允许非本地登陆 mysql本地登录命令_字段_07

                   添加新的列,默认新列添加完成后会放在最后一列。

 

mysql允许非本地登陆 mysql本地登录命令_mysql允许非本地登陆_08

添加新的列,并把列明确指定放在哪一列的后面, 通过AFTER 指定在什么列后面添加新列。

 

 

 

    .insert命令

(该命令在mysql中用于插入一行新内容到数据表的命令语句)

 

使用格式:  INSERT  INTO        数据库.表名称(A列名称,C列名称,...  VALUES A列写入的内容,C列对应写入的内容,...;

 

                     INSERT   INTO          用于定义该条数据库命令操作类型,INSERT INTO新插入数据表一行内容。

                     数据库.表名称        定义需要对哪个数据库下的表插入一行新内容。

                   (列名称1,列名称2)定义需要对哪个列插入新内容

                     VALUES                     用于定义后面字段内容为插入的数据内容

                    (内容1,内容2) 内容字段位置对应与前面字段定义的列顺序进行插入,前面定义了几个列,                                                 Vlues后面则需要对应输入同样字段的内容,与之一一对应。

mysql允许非本地登陆 mysql本地登录命令_mysql_09

 

 

    .update命令

(该命令在mysql中用于对已经存在的数据表存在内容进行更改的命令语句)

 

使用格式:        UPDATE     数据库.表名   SET  列名称=‘新内容’  where    列名称=‘原内容’;

                            UPDATE               用于定义此条命令类型为更新数据内容

                            数据库.表名       指定针对哪个数据库和表做操作

                        SET                     申明后面字段是需要进行数据更新的内容,如果有多列,可用,逗号隔开

                   列名称=‘新内容’   指定需要对哪列,修改的新内容是什么

                            where            指明条件,满足哪个条件的内容需要被修改成set选项什么需要更新的内容

事例:

mysql允许非本地登陆 mysql本地登录命令_mysql允许非本地登陆_10

 

 

         .Delete命令

 (该命令在mysql中用于对已经存在的数据表存在内容进行整列内容删除的命令语句)

 

使用格式:        DELETE      FROM   数据库.表名   where  列名=数据内容;

                            DELETE    用于定义此条命令类型为删除一列数据内容

                            FROM        用于指定操作对象的关键字

                   数据库.表名       指明是哪个数据库下的哪个表需要被执行该条命令

                            where        用于指定条件,满足哪个条件的列被删除

          列名称=‘数据内容’当数据内容等于此内容时候,则条件匹配成功,执行delete删除命令

mysql允许非本地登陆 mysql本地登录命令_mysql允许非本地登陆_11

 

 

 

数据库控制语言DCL     Data       Control         Language

         Create               建立数据库访问用户

    delete                删除数据库访问用户

         GRANT              建立或修改用户权限

         Revoke                取消用户数据库权限

         SHOW                查看用户授权

 

 

         .create创建数据库访问用户

使用格式: CREATE  USER  ‘用户名称’@‘允许远程登录主机’ IDENTIFIED  BY  ‘密码’;

                   create        用于定义该条数据库命令操作类型,CREATE 创建命令

                   user        用于定义操作对象类型,user表示操作对象为用户

用户名称@允许远程登录主机  mysql用户命名规范比较特殊,同一个用户名不同的允许远程登录主机权限                                    不一样,后面的远程登录主机用于限制用户是否能在远程登录或者本地登录。

                   identified     用于定义设置用户帐号密码

                   by                 by跟着输入密码即可,密码需要使用单引号,防止特殊字符。

 

 

允许远程登录主机设置方式:、

         支持主机名、IP地址、网段

         输入格式如下:

         space@'192.168.1.%'  支持space用户在所有192.168.1网段的主机进行远程登录mysql

         space@'192.168.1.10'  只允许space用户在192.168.1.10这台主机上远程登录mysql

         space@'%'                     允许space用户在任意主机上远程连接登录mysql

 

 

 

         .delete     删除数据库数据内容

使用格式: Delete  From  数据库.  Where      列名称=‘内容’ and  列名称=‘内容’

                            DELETE    用于定义此条命令类型为删除一列数据内容

                            FROM        用于指定操作对象的关键字

                   数据库.表名       指明是哪个数据库下的哪个表需要被执行该条命令

                            where        用于指定条件,满足哪个条件的列被删除

          列名称=‘数据内容’当数据内容等于此内容时候,则条件匹配成功,执行delete删除命令

 

mysql允许非本地登陆 mysql本地登录命令_字段_12

默认系统用户存在位置在mysql表下的user目录下,可通过增删改查的mysql基本命令对用户信息进行修改。

 

 

   .Grant命令 

(用于授权管理mysql登录用户权限的命令)

 

使用格式: Grant  权限1,权限2,权限... ON  被授权的数据库.*  TO  被授权用户@主机;

 

         如: GRANT  insert,update  ON   testdb.*  TO 'space'@'192.168.6.%';

        GRANT     用于定义此条命令类型为用户授权命令

         insert,update   授权用户可使用的命令权限

                   ON             用于指定被授权数据库的关键字

             testdb.*       指定被对象,是哪个数据库,.*指定哪个数据库下的哪张表,*表示所有表,或*.*

                   TO              用于指定被授权用户的关键字

                                     指定被授权用户@以及主机

 

Grant授权命令列表:

权限

类型

备注

all

 

所有权限

alter

 

修改表

create

 

创建数据库,表,用户,单独授权可使用 create user

 

 

 

drop

 

删除数据库,表

grant

 

建立或修改用户权限

revoke

 

取消用户数据库权限

select

 

查看数据库中表的数据内容

insert

 

对表插入新的内容

update

 

更新数据表内原有的数据内容

delete

 

删除表内已存在的数据内容

...

 

 

 

mysql允许非本地登陆 mysql本地登录命令_字段_13

 

.  Revoke命令           

(用于取消mysql用户操作数据库执行的命令权限)

 

使用格式: Revoke  权限1,权限2  ON  取消授权的数据库.*  FROM  被取消授权用户@主机;

         GRANT      用于定义此条命令类型为取消用户授权命令

             insert       取消用户可使用的命令权限,多个权限可使用逗号隔开

                   ON           用于指定被授权数据库的关键字

              *.*          指定被对象,是哪个数据库,.*指定哪个数据库下的哪张表,*表示所有表,或*.*

                   FROM        用于指定被授权用户的关键字

                                      指定被授权用户@以及主机

事例:

mysql允许非本地登陆 mysql本地登录命令_字段_14

         .SHOW命令         

         (通过show命令配合第二关键字可以实现数据库内部不同类型数据信息查看)

 

使用格式: SHOW  Grants  for  被查看授权用户@主机;

                       show           用于定义该条数据库命令操作类型,show查看命令 

                       Grants         用于定义被操作对象类型,Grant为授权数据库用户命令,与table和databse

                            for              用于指定被查看数据库用户对象的关键字

                                               指定被查看用户对象用户名和登录主机

 

mysql允许非本地登陆 mysql本地登录命令_mysql_15

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.Mysql编辑器快捷操作

 

组合键功能键

功能说明

Up  ,↑

翻阅上一条历史命令

Down

翻阅下一条历史命令

  Ctrl  b

键入命令时,光标左移(往回)

  Ctrl  F

键入命令时,光标又移(往前)

Ctrl   A

将光标移到行头

Ctrl   E

将光标移到行尾

Ctrl   D Delete

删除光标下的字符

Ctrl   K

删除光标到行尾的所有字符

 

.Mysql 批处理文件内容输入输出:

 

输入命令格式:   mysql命令  <  mysql命令脚本文件.sql 

输出命令格式:   mysql命令  <  mysql命令脚本文件.sql    >  命令执行内容输出文件位置

 

实例说明如下图:

mysql允许非本地登陆 mysql本地登录命令_字段_16

定义sql语句脚本文件将所有mysql数据执行命令写入在sql.sql文件中,使用mysql命令加输入符引用sql.sql文件,输出结果为执行sql.sql文件中的sql语句后的内容;

 

 

mysql允许非本地登陆 mysql本地登录命令_数据库_17

通过 > 输出符号,将mysql脚本执行结果内容输出保存到指定输出内容存储文件中;