您的位置:新葡亰496net > 网络数据库 > Sql控制台命令,Mysql命令大全

Sql控制台命令,Mysql命令大全

发布时间:2019-10-05 12:51编辑:网络数据库浏览(52)

       一、安装mysql yum源

    1、连接Mysql

    格式: mysql -h主机地址 -u顾客名 -p顾客密码

    1、连接受本机上的MYSQL。
    首先展开DOS窗口,然后步入目录mysqlbin,再键入命令mysql -u root -p,回车的前面提示您输密码.注意客户名前能够有空格也能够未有空格,不过密码前必须未有空格,不然令你重新输入密码。

    假如刚安装好MYSQL,超级客商root是尚未密码的,故直接回车就可以步向到MYSQL中了,MYSQL的唤醒符是: mysql>

    2、连接到长途主机上的MYSQL。假使远程主机的IP为:110.110.110.110,客商名称叫root,密码为abcd123。则键入以下命令:
        mysql -h110.110.110.110 -u root -p 123;(注:u与root之间能够毫不加空格,其余也同等)

    3、退出MYSQL命令: exit (回车)

     

     

    1、连接Mysql

    格式: mysql -h主机地址 -u顾客名 -p顾客密码

    1、连接受本机上的MYSQL。
    率先展开DOS窗口,然后进入目录mysqlbin,再键入命令mysql -u root -p,回车的前边提示您输密码.注意客户名前能够有空格也可以没有空格,但是密码前必须未有空格,否则使你再次输入密码。

    假定刚安装好MYSQL,顶级客户root是尚未密码的,故直接回车就可以走入到MYSQL中了,MYSQL的提醒符是: mysql>

    2、连接到长途主机上的MYSQL。若果远程主机的IP为:110.110.110.110,客户名字为root,密码为abcd123。则键入以下命令:
        mysql -h110.110.110.110 -u root -p 123;(注:u与root之间能够绝不加空格,其它也同样)

    3、退出MYSQL命令: exit (回车)

     

    正文援用于

    从官网下载mysql最新的yum源的rpm安装包

    2、修改密码

    格式:mysqladmin -u用户名 -p旧密码 password 新密码

    1、给root加个密码ab12。
    率先在DOS下踏入目录mysqlbin,然后键入以下命令
        mysqladmin -u root -password ab12
    注:因为早先时root没有密码,所以-p旧密码一项就足以归纳了。

    2、再将root的密码改为djg345。
        mysqladmin -u root -p ab12 password djg345

    1、连接Mysql

    格式: mysql -h主机地址 -u客商名 -p客户密码
    1、连接受本机上的MYSQL。 首先张开DOS窗口,然后踏入目录mysqlbin,再键入命令mysql -u root -p,回车的前面提醒您输密码.注意客商名前能够有空格也足以未有空格,可是密码前必需未有空格,不然让你再度输入密码。
    倘诺刚安装好MYSQL,一流顾客root是从未有过密码的,故直接回车就可以步入到MYSQL中了,MYSQL的唤醒符是: mysql>
    2、连接到长途主机上的MYSQL。万一远程主机的IP为:110.110.110.110,客户名称为root,密码为abcd123。则键入以下命令:     mysql -h110.110.110.110 -u root -p 123;(注:u与root之间能够不要加空格,其余也同等)
    3、退出MYSQL命令: exit (回车)

     

    2、修改密码

    格式:mysqladmin -u用户名 -p旧密码 password 新密码

    1、给root加个密码ab12。
    第一在DOS下步入目录mysqlbin,然后键入以下命令
        mysqladmin -u root -password ab12
    注:因为开首时root没有密码,所以-p旧密码一项就可以归纳了。

    2、再将root的密码改为djg345。
        mysqladmin -u root -p ab12 password djg345

    1、连接Mysql

    格式: mysql -h主机地址 -u客商名 -p客户密码

    1、连接受本机上的MYSQL。
    第一展开DOS窗口,然后踏向目录mysqlbin,再键入命令mysql -u root -p,回车后提醒您输密码.注意顾客名前能够有空格也足以未有空格,不过密码前必须未有空格,否则让您再一次输入密码。

    一经刚安装好MYSQL,超级顾客root是未曾密码的,故直接回车就可以进入到MYSQL中了,MYSQL的唤醒符是: mysql>

    2、连接到长途主机上的MYSQL。如果远程主机的IP为:110.110.110.110,顾客名字为root,密码为abcd123。则键入以下命令:
        mysql -h110.110.110.110 -u root -p 123;(注:u与root之间能够毫不加空格,别的也一律)

    3、退出MYSQL命令: exit (回车)

     

    新葡亰496net 1

    3、扩展新顾客

    小心:和地点不一样,下边包车型客车因为是MYSQL意况中的命令,所现在边都带二个分行作为命令截止符

    格式:grant select on 数据库.* to 顾客名@登入主机 identified by “密码”

    1、扩张一个客商test1密码为abc,让她得以在另外主机上登入,并对富有数据库有查询、插入、修改、删除的权限。首先用root客商连入MYSQL,然后键入以下命令:
        grant select,insert,update,delete on *.* to [email=test1@”%]test1@”%[/email]” Identified by “abc”;

    但扩充的顾客是不行险恶的,你想如某个人知晓test1的密码,那么她就可以在internet上的另外一台Computer上登陆你的mysql数据库并对你的数量可感到所欲为了,化解办法见2。

    2、增添三个客户test2密码为abc,让她只可以够在localhost上登陆,并得以对数据库mydb实行询问、插入、修改、删除的操作(localhost指本地主机,即MYSQL数据库所在的那台主机),那样客户即选拔知道test2的密码,他也不能从internet上直接待上访谈数据库,只好通过MYSQL主机上的web页来访谈了。
        grant select,insert,update,delete on mydb.* to [email=test2@localhost]test2@localhost[/email] identified by “abc”;

    设若你不想test2有密码,能够再打三个命令将密码消掉。
        grant select,insert,update,delete on mydb.* to [email=test2@localhost]test2@localhost[/email] identified by “”;

     

    2、修改密码

    格式:mysqladmin -u用户名 -p旧密码 password 新密码
    1、给root加个密码ab12。 首先在DOS下步向目录mysqlbin,然后键入以下命令     mysqladmin -u root -password ab12 注:因为开首时root未有密码,所以-p旧密码一项就能够归纳了。
    2、再将root的密码改为djg345。     mysqladmin -u root -p ab12 password djg345

    3、增添新顾客

    瞩目:和上边区别,下边的因为是MYSQL遇到中的命令,所从前边都带三个支行作为命令结束符

    格式:grant select on 数据库.* to 客商名@登入主机 identified by “密码”

    1、扩充三个客商test1密码为abc,让他得以在任何主机上登入,并对持有数据库有查询、插入、修改、删除的权位。首先用root客商连入MYSQL,然后键入以下命令:
        grant select,insert,update,delete on *.* to [email=test1@”%]test1@”%[/email]” Identified by “abc”;

    但扩展的客商是那一个生死攸关的,你想如某一个人知情test1的密码,那么她就可以在internet上的任何一台微型Computer上登入你的mysql数据库并对你的数码可认为所欲为了,化解办法见2。

    2、扩张贰个客户test2密码为abc,让她只好够在localhost上登入,并能够对数据库mydb进行询问、插入、修改、删除的操作(localhost指本地主机,即MYSQL数据库所在的那台主机),那样客户即利用知道test2的密码,他也无从从internet上一直访谈数据库,只好通过MYSQL主机上的web页来访谈了。
        grant select,insert,update,delete on mydb.* to [email=test2@localhost]test2@localhost[/email] identified by “abc”;

    若是您不想test2有密码,可以再打二个发令将密码消掉。
        grant select,insert,update,delete on mydb.* to [email=test2@localhost]test2@localhost[/email] identified by “”;

     

    2、修改密码

    格式:mysqladmin -u用户名 -p旧密码 password 新密码

    1、给root加个密码ab12。
    第一在DOS下步入目录mysqlbin,然后键入以下命令
        mysqladmin -u root -password ab12
    注:因为起首时root未有密码,所以-p旧密码一项就能够省略了。

    2、再将root的密码改为djg345。
        mysqladmin -u root -p ab12 password djg345

     

    4.1 创制数据库

    只顾:创造数据库此前要先连续Mysql服务器

    指令:create database <数据库名>

    例1:建立一个名称叫xhkdb的数据库
       mysql> create database xhkdb;

    例2:创制数据库并分配顾客

    ①CREATE DATABASE 数据库名;

    ②GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTE库罗德 ON 数据库名.* TO 数据库名@localhost IDENTIFIED BY '密码';

    ③SET PASSWO劲客D FO君越 '数据库名'@'localhost' = OLD_PASSWORD('密码');

    逐条施行3个指令完毕数据库成立。注意:中文“密码”和“数据库”是户本身须求安装的。

    3、增添新顾客

    在意:和方面分裂,上边包车型地铁因为是MYSQL意况中的命令,所从前边都带三个支行作为命令甘休符
    格式:grant select on 数据库.* to 顾客名@登入主机 identified by “密码”
    1、扩张三个客商test1密码为abc,让她可以在别的主机上登陆,并对具备数据库有询问、插入、修改、删除的权能。首先用root顾客连入MYSQL,然后键入以下命令:     grant select,insert,update,delete on *.* to [email=test1@”%]test1@”%[/email]” Identified by “abc”;
    但净增的客商是相当高危的,你想如有些人精晓test1的密码,那么他就足以在internet上的其余一台计算机上登入你的mysql数据库并对您的数目足感觉所欲为了,消除办法见2。
    2、扩展八个客商test2密码为abc,让他只可以够在localhost上登陆,并能够对数据库mydb举办查询、插入、修改、删除的操作(localhost指本地主机,即MYSQL数据库所在的这台主机),那样客商即采取知道test2的密码,他也心余力绌从internet上直接访谈数据库,只好通过MYSQL主机上的web页来访谈了。     grant select,insert,update,delete on mydb.* to [email=test2@localhost]test2@localhost[/email] identified by “abc”;
    比如您不想test2有密码,能够再打一个限令将密码消掉。     grant select,insert,update,delete on mydb.* to [email=test2@localhost]test2@localhost[/email] identified by “”;

     

    4.1 创设数据库

    只顾:创制数据库此前要先再三再四Mysql服务器

    指令:create database <数据库名>

    例1:建构三个名叫xhkdb的数据库
       mysql> create database xhkdb;

    例2:创造数据库并分配客商

    ①CREATE DATABASE 数据库名;

    ②GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTELX570 ON 数据库名.* TO 数据库名@localhost IDENTIFIED BY '密码';

    ③SET PASSWO大切诺基D FO安德拉 '数据库名'@'localhost' = OLD_PASSWORD('密码');

    种种推行3个指令实现数据库创造。注意:粤语“密码”和“数据库”是户自个儿索要设置的。

    3、扩张新顾客

    在乎:和下边区别,下边包车型地铁因为是MYSQL情况中的命令,所从前边都带三个分店作为命令甘休符

    格式:grant select on 数据库.* to 客商名@登陆主机 identified by “密码”

    1、扩充贰个客商test1密码为abc,让她可以在其余主机上登陆,并对具有数据库有询问、插入、修改、删除的权限。首先用root客商连入MYSQL,然后键入以下命令:
        grant select,insert,update,delete on *.* to [email=test1@”%]test1@”%[/email]” Identified by “abc”;

    但净增的客户是拾分险恶的,你想如某人精通test1的密码,那么他就足以在internet上的其余一台计算机上登录你的mysql数据库并对您的多寡足以为所欲为了,化解办法见2。

    2、扩充二个顾客test2密码为abc,让他只好够在localhost上登陆,并可以对数据库mydb实行查询、插入、修改、删除的操作(localhost指本地主机,即MYSQL数据库所在的那台主机),那样客商即选拔知道test2的密码,他也不能够从internet上一直访谈数据库,只好通过MYSQL主机上的web页来访谈了。
        grant select,insert,update,delete on mydb.* to [email=test2@localhost]test2@localhost[/email] identified by “abc”;

    若果您不想test2有密码,能够再打贰个命令将密码消掉。
        grant select,insert,update,delete on mydb.* to [email=test2@localhost]test2@localhost[/email] identified by “”;

     

    wget http://repo.mysql.com//mysql57-community-release-el6-9.noarch.rpm
    

    4.2 彰显数据库

    命令:show databases (注意:最终有个s)
    mysql> show databases;

    介意:为了不再显得的时候乱码,要修改数据库暗许编码。以下以GBK编码页面为例进行认证:

    1、修改MYSQL的布置文件:my.ini里面修改default-character-set=gbk
    2、代码运转时修改:
       ①Java代码:jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=gbk
       ②PHP代码:header("Content-Type:text/html;charset=gb2312");
       ③C语言代码:int mysql_set_character_set( MYSQL * mysql, char * csname);
    该函数用于为近日一而再装置默许的字符集。字符串csname钦点了1个有效的字符集名称。连接查对成为字符集的默许查对。该函数的行事方法与SET NAMES语句看似,但它还是能设置mysql- > charset的值,进而影响了由mysql_real_escape_string() 设置的字符集。

    4.1 创制数据库

    小心:成立数据库以前要先延续Mysql服务器
    一声令下:create database <数据库名>
    例1:创设一个名称为xhkdb的数据库    mysql> create database xhkdb;
    例2:创立数据库并分配客商
    ①CREATE DATABASE 数据库名;
    ②GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTEPAJERO ON 数据库名.* TO 数据库名@localhost IDENTIFIED BY '密码';
    ③SET PASSWO奥迪Q5D FO昂科拉 '数据库名'@'localhost' = OLD_PASSWORD('密码');
    依次试行3个指令完毕数据库创造。注意:中文“密码”和“数据库”是户自个儿要求安装的。

    4.2 彰显数据库

    命令:show databases (注意:最后有个s)
    mysql> show databases;

    注意:为了不再突显的时候乱码,要修改数据库暗许编码。以下以GBK编码页面为例进行求证:

    1、修改MYSQL的安顿文件:my.ini里面修改default-character-set=gbk
    2、代码运转时修改:
       ①Java代码:jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=gbk
       ②PHP代码:header("Content-Type:text/html;charset=gb2312");
       ③C语言代码:int mysql_set_character_set( MYSQL * mysql, char * csname);
    该函数用于为当前线总指挥部是装置暗许的字符集。字符串csname内定了1个有效的字符集名称。连接查对成为字符集的私下认可查对。该函数的办事方法与SET NAMES语句看似,但它还能够安装mysql- > charset的值,进而影响了由mysql_real_escape_string() 设置的字符集。

    4.1 成立数据库

    在乎:创制数据库此前要先三番五次Mysql服务器

    一声令下:create database <数据库名>

    例1:建构三个名叫xhkdb的数据库
       mysql> create database xhkdb;

    例2:创设数据库并分配客户

    ①CREATE DATABASE 数据库名;

    ②GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTE猎豹CS6 ON 数据库名.* TO 数据库名@localhost IDENTIFIED BY '密码';

    ③SET PASSWO索罗德D FO福特Explorer '数据库名'@'localhost' = OLD_PASSWORD('密码');

    次第实行3个指令实现数据库创造。注意:汉语“密码”和“数据库”是户自身索要设置的。

    使用yum安装rpm包

    4.3 删除数据库

    指令:drop database <数据库名>
    诸如:删除名称叫 xhkdb的数据库
    mysql> drop database xhkdb;

    事例1:删除二个已经规定期存款在的数据库
       mysql> drop database drop_database;
       Query OK, 0 rows affected (0.00 sec)

    事例2:删除一个不分明期存款在的数据库
       mysql> drop database drop_database;
       ERROR 1008 (HY000): Can't drop database 'drop_database'; database doesn't exist
          //发生错误,无法去除'drop_database'数据库,该数据库子虚乌有。
       mysql> drop database if exists drop_database;
       Query OK, 0 rows affected, 1 warning (0.00 sec)//产生三个警告表明此数据库子虚乌有
       mysql> create database drop_database;
       Query OK, 1 row affected (0.00 sec)
       mysql> drop database if exists drop_database;//if exists 决断数据库是还是不是留存,不设有也不发生错误
       Query OK, 0 rows affected (0.00 sec)

    4.2 展现数据库

    指令:show databases (注意:最后有个s) mysql> show databases;
    只顾:为了不再显得的时候乱码,要修改数据库暗中同意编码。以下以GBK编码页面为例进行表达:
    1、修改MYSQL的配备文件:my.ini里面修改default-character-set=gbk 2、代码运维时修改:    ①Java代码:jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=gbk    ②PHP代码:header("Content-Type:text/html;charset=gb2312");    ③C语言代码:int mysql_set_character_set( MYSQL * mysql, char * csname); 该函数用于为当前连接装置暗中同意的字符集。字符串csname钦赐了1个有效的字符集名称。连接核查成为字符集的暗中同意核对。该函数的办事格局与SET NAMES语句看似,但它还是可以安装mysql- > charset的值,进而影响了由mysql_real_escape_string() 设置的字符集。

    4.3 删除数据库

    一声令下:drop database <数据库名>
    比方:删除名叫 xhkdb的数据库
    mysql> drop database xhkdb;

    事例1:删除一个早已规定存在的数据库
       mysql> drop database drop_database;
       Query OK, 0 rows affected (0.00 sec)

    事例2:删除三个不明确期存款在的数据库
       mysql> drop database drop_database;
       ERROR 1008 (HY000): Can't drop database 'drop_database'; database doesn't exist
          //发生错误,不能够去除'drop_database'数据库,该数据库一纸空文。
       mysql> drop database if exists drop_database;
       Query OK, 0 rows affected, 1 warning (0.00 sec)//发生二个告诫表达此数据库官样文章
       mysql> create database drop_database;
       Query OK, 1 row affected (0.00 sec)
       mysql> drop database if exists drop_database;//if exists 推断数据库是或不是留存,不设有也不产生错误
       Query OK, 0 rows affected (0.00 sec)

    4.2 呈现数据库

    一声令下:show databases (注意:最终有个s)
    mysql> show databases;

    在意:为了不再显得的时候乱码,要修改数据库默许编码。以下以GBK编码页面为例举办认证:

    1、修改MYSQL的布局文件:my.ini里面修改default-character-set=gbk
    2、代码运维时修改:
       ①Java代码:jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=gbk
       ②PHP代码:header("Content-Type:text/html;charset=gb2312");
       ③C语言代码:int mysql_set_character_set( MYSQL * mysql, char * csname);
    该函数用于为当下总是装置暗中同意的字符集。字符串csname钦点了1个有效的字符集名称。连接核对成为字符集的暗中认可核对。该函数的行事章程与SET NAMES语句看似,但它还能够设置mysql- > charset的值,进而影响了由mysql_real_escape_string() 设置的字符集。

    yum install mysql57-community-release-el6-9.noarch.rpm
    

    4.4 连接数据库

    一声令下: use <数据库名>

    比方:假诺xhkdb数据库存在,尝试存取它:
       mysql> use xhkdb;
    显示屏提醒:Database changed

    use 语句能够布告MySQL把db_name数据库作为暗中认可(当前)数据库使用,用于后续语句。该数据库保持为默许数据库,直到语段的结尾,恐怕直到公布多个见仁见智的USE语句:
       mysql> USE db1;
       mysql> SELECT COUNT(*) FROM mytable;   # selects from db1.mytable
       mysql> USE db2;
       mysql> SELECT COUNT(*) FROM mytable;   # selects from db2.mytable

    行使USE语句为贰个特定的前段时间的数据库做标志,不会堵住你访问其余数据库中的表。上面包车型客车例子可以从db1数据库访谈笔者表,并从db2数据库访谈编辑表:
       mysql> USE db1;
       mysql> SELECT author_name,editor_name FROM author,db2.editor
           ->        WHERE author.editor_id = db2.editor.editor_id;

    USE语句被设立出来,用于与Sybase相包容。

    稍稍网上朋友问到,连接今后怎么退出。其实,不用退出去,use 数据库后,使用show databases就能够查询全体数据库,要是想跳到另外数据库,用
       use 别的数据库名字
    就足以了。

    4.3 删除数据库

    一声令下:drop database <数据库名> 举个例子:删除名称叫 xhkdb的数据库 mysql> drop database xhkdb;
    事例1:删除一个早就明确期存款在的数据库    mysql> drop database drop_database;    Query OK, 0 rows affected (0.00 sec)
    事例2:删除一个不分明期存款在的数据库    mysql> drop database drop_database;    ERROR 1008 (HY000): Can't drop database 'drop_database'; database doesn't exist       //发生错误,不能够去除'drop_database'数据库,该数据库不设有。    mysql> drop database if exists drop_database;    Query OK, 0 rows affected, 1 warning (0.00 sec)//产生三个警示表明此数据库官样文章    mysql> create database drop_database;    Query OK, 1 row affected (0.00 sec)    mysql> drop database if exists drop_database;//if exists 判定数据库是还是不是存在,空中楼阁也不发生错误    Query OK, 0 rows affected (0.00 sec)

    4.4 连接数据库

    命令: use <数据库名>

    举个例子说:倘使xhkdb数据仓库储存在,尝试存取它:
       mysql> use xhkdb;
    显示器提示:Database changed

    use 语句能够通知MySQL把db_name数据库作为默许(当前)数据库使用,用于后续语句。该数据库保持为私下认可数据库,直到语段的终极,或许直到公布八个不等的USE语句:
       mysql> USE db1;
       mysql> SELECT COUNT(*) FROM mytable;   # selects from db1.mytable
       mysql> USE db2;
       mysql> SELECT COUNT(*) FROM mytable;   # selects from db2.mytable

    利用USE语句为三个特定的当下的数据库做标志,不会堵住你访谈其余数据库中的表。上面包车型客车例子能够从db1数据库访谈我表,并从db2数据库访谈编辑表:
       mysql> USE db1;
       mysql> SELECT author_name,editor_name FROM author,db2.editor
           ->        WHERE author.editor_id = db2.editor.editor_id;

    USE语句被设置出来,用于与Sybase相包容。

    多少网络朋友问到,连接以往怎么退出。其实,不用退出来,use 数据库后,使用show databases就会查询全部数据库,即使想跳到另外数据库,用
       use 别的数据库名字
    就足以了。

    4.3 删除数据库

    指令:drop database <数据库名>
    诸如:删除名字为 xhkdb的数据库
    mysql> drop database xhkdb;

    事例1:删除一个已经规定期存款在的数据库
       mysql> drop database drop_database;
       Query OK, 0 rows affected (0.00 sec)

    事例2:删除一个不明确期存款在的数据库
       mysql> drop database drop_database;
       ERROR 1008 (HY000): Can't drop database 'drop_database'; database doesn't exist
          //发生错误,不能够去除'drop_database'数据库,该数据库不真实。
       mysql> drop database if exists drop_database;
       Query OK, 0 rows affected, 1 warning (0.00 sec)//发生一个告诫表明此数据库荒诞不经
       mysql> create database drop_database;
       Query OK, 1 row affected (0.00 sec)
       mysql> drop database if exists drop_database;//if exists 推断数据库是还是不是留存,不设有也不爆发错误
       Query OK, 0 rows affected (0.00 sec)

    检测mysql yum源

    4.5 当前增选的数据库

    命令:mysql> select database();

    MySQL中SELECT命令类似于另外编制程序语言里的print或许write,你能够用它来呈现七个字符串、数字、数学表达式的结果等等。如何使用MySQL中SELECT命令的诡异功效?

    1.显示MYSQL的版本
    mysql> select version(); 
    -----------------------  
    | version()             | 
    -----------------------  
    | 6.0.4-alpha-community | 
    -----------------------  
    1 row in set (0.02 sec) 

    2. 出示当前时光
    mysql> select now(); 
    ---------------------  
    | now()               | 
    ---------------------  
    | 2009-09-15 22:35:32 | 
    ---------------------  
    1 row in set (0.04 sec) 

    3. 显得年月日
    SELECT DAYOFMONTH(CURRENT_DATE); 
    --------------------------  
    | DAYOFMONTH(CURRENT_DATE) | 
    --------------------------  
    |                       15 | 
    --------------------------  
    1 row in set (0.01 sec) 
      
    SELECT MONTH(CURRENT_DATE); 
    ---------------------  
    | MONTH(CURRENT_DATE) | 
    ---------------------  
    |                   9 | 
    ---------------------  
    1 row in set (0.00 sec) 
      
    SELECT YEAR(CURRENT_DATE); 
    --------------------  
    | YEAR(CURRENT_DATE) | 
    --------------------  
    |               2009 | 
    --------------------  
    1 row in set (0.00 sec) 

    4. 来得字符串
    mysql> SELECT "welecome to my blog!"; 
    ----------------------  
    | welecome to my blog! | 
    ----------------------  
    | welecome to my blog! | 
    ----------------------  
    1 row in set (0.00 sec) 

    5. 当计算器用
    select ((4 * 4) / 10 ) 25; 
    ----------------------  
    | ((4 * 4) / 10 ) 25 | 
    ----------------------  
    |                26.60 | 
    ----------------------  
    1 row in set (0.00 sec) 

    6. 串接字符串
    select CONCAT(f_name, " ", l_name) 
    AS Name 
    from employee_data 
    where title = 'Marketing Executive'; 
    ---------------  
    | Name          | 
    ---------------  
    | Monica Sehgal | 
    | Hal Simlai    | 
    | Joseph Irvine | 
    ---------------  
    3 rows in set (0.00 sec) 
    小心:这里用到CONCAT()函数,用来把字符串串接起来。别的,我们还用到从前学到的AS给结果列'CONCAT(f_name, " ", l_name)'起了个字母。

    4.4 连接数据库

    指令: use <数据库名>
    比方:假使xhkdb数据仓库储存在,尝试存取它:    mysql> use xhkdb; 显示屏提醒:Database changed
    use 语句能够公告MySQL把db_name数据库作为暗中同意(当前)数据库使用,用于后续语句。该数据库保持为默许数据库,直到语段的末梢,可能直到公布多少个不及的USE语句:    mysql> USE db1;    mysql> SELECT COUNT(*) FROM mytable;   # selects from db1.mytable    mysql> USE db2;    mysql> SELECT COUNT(*) FROM mytable;   # selects from db2.mytable
    行使USE语句为三个特定的脚下的数据库做标志,不会堵住你访问另外数据库中的表。上边包车型地铁事例能够从db1数据库访问作者表,并从db2数据库采编表:    mysql> USE db1;    mysql> SELECT author_name,editor_name FROM author,db2.editor        ->        WHERE author.editor_id = db2.editor.editor_id;
    USE语句被设置出来,用于与Sybase相包容。
    些微网上好朋友问到,连接以后怎么退出。其实,不用退出去,use 数据库后,使用show databases就能够查询全体数据库,假使想跳到任何数据库,用    use 其余数据库名字 就足以了。

    4.5 当前挑选的数据库

    命令:mysql> select database();

    MySQL中SELECT命令类似于其余编制程序语言里的print也许write,你能够用它来体现一个字符串、数字、数学表明式的结果等等。怎么样运用MySQL中SELECT命令的特别规功能?

    1.显示MYSQL的版本
    mysql> select version(); 
    -----------------------  
    | version()             | 
    -----------------------  
    | 6.0.4-alpha-community | 
    -----------------------  
    1 row in set (0.02 sec) 

    2. 呈现当前时光
    mysql> select now(); 
    ---------------------  
    | now()               | 
    ---------------------  
    | 2009-09-15 22:35:32 | 
    ---------------------  
    1 row in set (0.04 sec) 

    3. 来得年月日
    SELECT DAYOFMONTH(CURRENT_DATE); 
    --------------------------  
    | DAYOFMONTH(CURRENT_DATE) | 
    --------------------------  
    |                       15 | 
    --------------------------  
    1 row in set (0.01 sec) 
      
    SELECT MONTH(CURRENT_DATE); 
    ---------------------  
    | MONTH(CURRENT_DATE) | 
    ---------------------  
    |                   9 | 
    ---------------------  
    1 row in set (0.00 sec) 
      
    SELECT YEAR(CURRENT_DATE); 
    --------------------  
    | YEAR(CURRENT_DATE) | 
    --------------------  
    |               2009 | 
    --------------------  
    1 row in set (0.00 sec) 

    4. 出示字符串
    mysql> SELECT "welecome to my blog!"; 
    ----------------------  
    | welecome to my blog! | 
    ----------------------  
    | welecome to my blog! | 
    ----------------------  
    1 row in set (0.00 sec) 

    5. 当总计器用
    select ((4 * 4) / 10 ) 25; 
    ----------------------  
    | ((4 * 4) / 10 ) 25 | 
    ----------------------  
    |                26.60 | 
    ----------------------  
    1 row in set (0.00 sec) 

    6. 串接字符串
    select CONCAT(f_name, " ", l_name) 
    AS Name 
    from employee_data 
    where title = 'Marketing Executive'; 
    ---------------  
    | Name          | 
    ---------------  
    | Monica Sehgal | 
    | Hal Simlai    | 
    | Joseph Irvine | 
    ---------------  
    3 rows in set (0.00 sec) 
    专一:这里用到CONCAT()函数,用来把字符串串接起来。别的,大家还用到从前学到的AS给结荚列'CONCAT(f_name, " ", l_name)'起了个字母。

    4.4 连接数据库

    一声令下: use <数据库名>

    诸如:假使xhkdb数据仓库储存在,尝试存取它:
       mysql> use xhkdb;
    显示器提示:Database changed

    use 语句能够布告MySQL把db_name数据库作为暗中同意(当前)数据库使用,用于后续语句。该数据库保持为暗许数据库,直到语段的结尾,可能直到公布一个不一致的USE语句:
       mysql> USE db1;
       mysql> SELECT COUNT(*) FROM mytable;   # selects from db1.mytable
       mysql> USE db2;
       mysql> SELECT COUNT(*) FROM mytable;   # selects from db2.mytable

    动用USE语句为二个特定的此时此刻的数据库做标识,不会堵住你访谈另外数据库中的表。上边包车型客车事例能够从db1数据库访谈作者表,并从db2数据库采编表:
       mysql> USE db1;
       mysql> SELECT author_name,editor_name FROM author,db2.editor
           ->        WHERE author.editor_id = db2.editor.editor_id;

    USE语句被设立出来,用于与Sybase相宽容。

    稍稍网上基友问到,连接以往怎么退出。其实,不用退出去,use 数据库后,使用show databases就能够查询全数数据库,假设想跳到别的数据库,用
       use 其余数据库名字
    就足以了。

    yum repolist enabled | grep "mysql.*-community.*"
    

    5.1 创制数据表

    命令:create table <表名> ( <字段名1> <类型1> [,..<字段名n> <类型n>]);

    诸如,创建二个名叫MyClass的表,

    字段名 数字类型 数据宽度 是否为空 是否主键 自动增加 默认值
    id int 4 primary key auto_increment  
    name char 20      
    sex int 4     0
    degree double 16      

    mysql> create table MyClass(
    > id int(4) not null primary key auto_increment,
    > name char(20) not null,
    > sex int(4) not null default '0',
    > degree double(16,2));

    4.5 当前采用的数据库

    命令:mysql> select database();
    MySQL中SELECT命令类似于别的编制程序语言里的print只怕write,你能够用它来显示三个字符串、数字、数学表明式的结果等等。怎样采用MySQL中SELECT命令的不相同平日意义?
    1.显示MYSQL的版本 mysql> select version();  -----------------------   | version()             |  -----------------------   | 6.0.4-alpha-community |  -----------------------   1 row in set (0.02 sec) 
    2. 来妥贴前光阴 mysql> select now();  ---------------------   | now()               |  ---------------------   | 2009-09-15 22:35:32 |  ---------------------   1 row in set (0.04 sec) 
    3. 出示年月日 SELECT DAYOFMONTH(CURRENT_DATE);  --------------------------   | DAYOFMONTH(CURRENT_DATE) |  --------------------------   |                       15 |  --------------------------   1 row in set (0.01 sec)     SELECT MONTH(CURRENT_DATE);  ---------------------   | MONTH(CURRENT_DATE) |  ---------------------   |                   9 |  ---------------------   1 row in set (0.00 sec)     SELECT YEAR(CURRENT_DATE);  --------------------   | YEAR(CURRENT_DATE) |  --------------------   |               2009 |  --------------------   1 row in set (0.00 sec) 
    4. 展现字符串 mysql> SELECT "welecome to my blog!";  ----------------------   | welecome to my blog! |  ----------------------   | welecome to my blog! |  ----------------------   1 row in set (0.00 sec) 
    5. 当总计器用 select ((4 * 4) / 10 ) 25;  ----------------------   | ((4 * 4) / 10 ) 25 |  ----------------------   |                26.60 |  ----------------------   1 row in set (0.00 sec) 
    6. 串接字符串 select CONCAT(f_name, " ", l_name)  AS Name  from employee_data  where title = 'Marketing Executive';  ---------------   | Name          |  ---------------   | Monica Sehgal |  | 哈尔 Simlai    |  | Joseph 埃尔文 |  ---------------   3 rows in set (0.00 sec)  注意:这里用到CONCAT()函数,用来把字符串串接起来。别的,大家还用到在此以前学到的AS给结荚列'CONCAT(f_name, " ", l_name)'起了个假名。

    5.1 创立数据表

    命令:create table <表名> ( <字段名1> <类型1> [,..<字段名n> <类型n>]);

    比如,创设四个名字为MyClass的表,

    字段名 数字类型 数据宽度 是否为空 是否主键 自动增加 默认值
    id int 4 primary key auto_increment  
    name char 20      
    sex int 4     0
    degree double 16      

    mysql> create table MyClass(
    > id int(4) not null primary key auto_increment,
    > name char(20) not null,
    > sex int(4) not null default '0',
    > degree double(16,2));

    4.5 当前甄选的数据库

    命令:mysql> select database();

    MySQL中SELECT命令类似于其余编制程序语言里的print或许write,你能够用它来展现一个字符串、数字、数学表明式的结果等等。如何运用MySQL中SELECT命令的特种效果?

    1.显示MYSQL的版本
    mysql> select version(); 
    -----------------------  
    | version()             | 
    -----------------------  
    | 6.0.4-alpha-community | 
    -----------------------  
    1 row in set (0.02 sec) 

    2. 显伏贴前时刻
    mysql> select now(); 
    ---------------------  
    | now()               | 
    ---------------------  
    | 2009-09-15 22:35:32 | 
    ---------------------  
    1 row in set (0.04 sec) 

    3. 来得年月日
    SELECT DAYOFMONTH(CURRENT_DATE); 
    --------------------------  
    | DAYOFMONTH(CURRENT_DATE) | 
    --------------------------  
    |                       15 | 
    --------------------------  
    1 row in set (0.01 sec) 
      
    SELECT MONTH(CURRENT_DATE); 
    ---------------------  
    | MONTH(CURRENT_DATE) | 
    ---------------------  
    |                   9 | 
    ---------------------  
    1 row in set (0.00 sec) 
      
    SELECT YEAR(CURRENT_DATE); 
    --------------------  
    | YEAR(CURRENT_DATE) | 
    --------------------  
    |               2009 | 
    --------------------  
    1 row in set (0.00 sec) 

    4. 出示字符串
    mysql> SELECT "welecome to my blog!"; 
    ----------------------  
    | welecome to my blog! | 
    ----------------------  
    | welecome to my blog! | 
    ----------------------  
    1 row in set (0.00 sec) 

    5. 当总括器用
    select ((4 * 4) / 10 ) 25; 
    ----------------------  
    | ((4 * 4) / 10 ) 25 | 
    ----------------------  
    |                26.60 | 
    ----------------------  
    1 row in set (0.00 sec) 

    6. 串接字符串
    select CONCAT(f_name, " ", l_name) 
    AS Name 
    from employee_data 
    where title = 'Marketing Executive'; 
    ---------------  
    | Name          | 
    ---------------  
    | Monica Sehgal | 
    | Hal Simlai    | 
    | Joseph Irvine | 
    ---------------  
    3 rows in set (0.00 sec) 
    留神:这里用到CONCAT()函数,用来把字符串串接起来。另外,大家还用到以前学到的AS给结果列'CONCAT(f_name, " ", l_name)'起了个假名。

    二、从mysql yum源中甄选mysql安装版本

    5.3 删除数据表

    命令:drop table <表名>

    举例:删除表名称为 MyClass 的表
       mysql> drop table MyClass;

    DROP TABLE用于撤废二个或七个表。您必需有每一种表的DROP权限。全体的表数据和表定义会被撤回,所以利用本语句要小心!

    留意:对于一个带分区的表,DROP TABLE会永世性地打消表定义,取消各分区,并吊销积攒在那一个分区中的全数数据。DROP TABLE还有恐怕会撤废与被撤回的表有关联的分区定义(.par)文件。

    对与不设有的表,使用IF EXISTS用于幸免错误发生。当使用IF EXISTS时,对于每种不设有的表,会生成三个NOTE。

    RESTOdysseyICT和CASCADE能够使分区更便于。近些日子,RESTEnclaveICT和CASCADE不起成效。

    5.1 创制数据表

    命令:create table <表名> ( <字段名1> <类型1> [,..<字段名n> <类型n>]);
    例如,建构三个名字为MyClass的表,

    字段名 数字类型 数据宽度 是否为空 是否主键 自动增加 默认值
    id int 4 primary key auto_increment  
    name char 20      
    sex int 4     0
    degree double 16      

    mysql> create table MyClass( > id int(4) not null primary key auto_increment, > name char(20) not null, > sex int(4) not null default '0', > degree double(16,2));

    5.3 删除数据表

    命令:drop table <表名>

    比方:删除表名称叫 MyClass 的表
       mysql> drop table MyClass;

    DROP TABLE用于撤除一个或多少个表。您必得有各类表的DROP权限。全体的表数据和表定义会被撤消,所以接纳本语句要小心!

    小心:对于三个带分区的表,DROP TABLE会永恒性地撤除表定义,撤除各分区,并撤废积存在那个分区中的全部数据。DROP TABLE还会吊销与被打消的表有关联的分区定义(.par)文件。

    对与不设有的表,使用IF EXISTS用于幸免错误发生。当使用IF EXISTS时,对于每种不设有的表,会扭转贰个NOTE。

    REST奇骏ICT和CASCADE能够使分区更易于。近期,RESTENCOREICT和CASCADE不起作用。

    5.1 创立数据表

    命令:create table <表名> ( <字段名1> <类型1> [,..<字段名n> <类型n>]);

    譬喻说,创立三个名字为MyClass的表,

    字段名 数字类型 数据宽度 是否为空 是否主键 自动增加 默认值
    id int 4 primary key auto_increment  
    name char 20      
    sex int 4     0
    degree double 16      

    mysql> create table MyClass(
    > id int(4) not null primary key auto_increment,
    > name char(20) not null,
    > sex int(4) not null default '0',
    > degree double(16,2));

    1、查看mysql yum饭馆的能源

    5.4 表插入数据

    命令:insert into <表名> [( <字段名1>[,..<字段名n > ])] values ( 值1 )[, ( 值n )]

    举个例子:往表 MyClass中插入二条记下, 那二条记下表示:编号为1的名称叫汤姆的实际业绩为96.45, 编号为2 的名字为Joan 的成就为82.99, 编号为3 的名叫Wang 的大成为96.5。
       mysql> insert into MyClass values(1,'Tom',96.45),(2,'Joan',82.99), (2,'Wang', 96.59);

    留心:insert into每便只好向表中插入一条记下。

    5.3 删除数据表

    命令:drop table <表名>
    比方:删除表名字为 MyClass 的表    mysql> drop table MyClass;
    DROP TABLE用于撤销一个或四个表。您必须有各种表的DROP权限。全数的表数据和表定义会被裁撤,所以选用本语句要当心!
    小心:对于贰个带分区的表,DROP TABLE会永远性地撤消表定义,撤废各分区,并撤除积存在那么些分区中的全部数据。DROP TABLE还会吊销与被裁撤的表有关联的分区定义(.par)文件。
    对与不设有的表,使用IF EXISTS用于幸免错误发生。当使用IF EXISTS时,对于每种不设有的表,会扭转贰个NOTE。
    REST瑞鹰ICT和CASCADE能够使分区更便于。这段时间,REST福特ExplorerICT和CASCADE不起功用。

    5.4 表插入数据

    命令:insert into <表名> [( <字段名1>[,..<字段名n > ])] values ( 值1 )[, ( 值n )]

    举个例子:往表 MyClass中插入二条记下, 这二条记下代表:编号为1的名叫汤姆的大成为96.45, 编号为2 的名称为Joan 的成绩为82.99, 编号为3 的名称叫Wang 的实际业绩为96.5。
       mysql> insert into MyClass values(1,'Tom',96.45),(2,'Joan',82.99), (2,'Wang', 96.59);

    潜心:insert into每一次只好向表中插入一条记下。

    5.3 删除数据表

    命令:drop table <表名>

    比如:删除表名字为 MyClass 的表
       mysql> drop table MyClass;

    DROP TABLE用于撤销八个或多少个表。您必需有每种表的DROP权限。全部的表数据和表定义会被打消,所以利用本语句要小心!

    瞩目:对于两个带分区的表,DROP TABLE会永世性地裁撤表定义,撤废各分区,并撤消积攒在这一个分区中的全部数据。DROP TABLE还只怕会裁撤与被撤消的表有关联的分区定义(.par)文件。

    对与不设有的表,使用IF EXISTS用于防止错误爆发。当使用IF EXISTS时,对于每种不设有的表,会扭转三个NOTE。

    RESTWranglerICT和CASCADE能够使分区更便于。近来,REST传祺ICT和CASCADE不起效能。

    yum repolist all | grep mysql
    

    5.5 查询表中的数据

    1)、查询全体行
    命令: select <字段1,字段2,...> from < 表名 > where < 表达式 >
    举例:查看表 MyClass 中保有数据
       mysql> select * from MyClass;

    2)、查询前几行数据
    例如:查看表 MyClass 中前2行数据
    mysql> select * from MyClass order by id limit 0,2;

    select日常合作where使用,以询问改进确更扑朔迷离的数量。

    5.4 表插入数据

    命令:insert into <表名> [( <字段名1>[,..<字段名n > ])] values ( 值1 )[, ( 值n )]
    比方:往表 MyClass中插入二条记下, 那二条记下代表:编号为1的名称为汤姆的实际业绩为96.45, 编号为2 的名称叫Joan 的成就为82.99, 编号为3 的名字为Wang 的大成为96.5。    mysql> insert into MyClass values(1,'汤姆',96.45),(2,'Joan',82.99), (2,'Wang', 96.59);
    专心:insert into每一次只好向表中插入一条记下。

    5.5 查询表中的数据

    1)、查询全体行
    命令: select <字段1,字段2,...> from < 表名 > where < 表达式 >
    例如说:查看表 MyClass 中全部数据
       mysql> select * from MyClass;

    2)、查询前几行数据
    例如:查看表 MyClass 中前2行数据
    mysql> select * from MyClass order by id limit 0,2;

    select平时合营where使用,以询问纠正确更目眩神摇的数量。

    5.4 表插入数据

    命令:insert into <表名> [( <字段名1>[,..<字段名n > ])] values ( 值1 )[, ( 值n )]

    举例说:往表 MyClass中插入二条记下, 那二条记下表示:编号为1的名字为汤姆的实际业绩为96.45, 编号为2 的名字为Joan 的成就为82.99, 编号为3 的名叫Wang 的大成为96.5。
       mysql> insert into MyClass values(1,'Tom',96.45),(2,'Joan',82.99), (2,'Wang', 96.59);

    注意:insert into每一次只好向表中插入一条记下。

    2、修改msql yum源配置中的 enabled选项,如要安装mysql5.8,将mysql57-community中的enabled=1修改为enabled=0

    5.6 删除表中数据

     

     

     

    命令:delete from 表名 where 表达式

    譬喻:删除表 MyClass中编号为1 的记录
    mysql> delete from MyClass where id=1;

    下边是三个刨除数据前后表的自己检查自纠。

    FirstName LastName Age
    Peter Griffin 35
    Glenn Quagmire 33

    上面以PHP代码为例删除 "Persons" 表中负有 LastName='Griffin' 的记录:

    <?php 
       $con = mysql_connect("localhost","peter","abc123"); 
       if (!$con) 
       {
          die('Could not connect: ' . mysql_error()); 
       } 
       mysql_select_db("my_db", $con); 
       mysql_query("DELETE FROM Persons WHERE LastName='Griffin'"); mysql_close($con); 
    ?>
    

    在本次删除之后,表是这样的:

    FirstName LastName Age
    Glenn Quagmire 33

    5.5 查询表中的数据

    1)、查询全部行 命令: select <字段1,字段2,...> from < 表名 > where < 表达式 > 举个例子:查看表 MyClass 中具备数据    mysql> select * from MyClass;
    2)、查询前几行数据 例如:查看表 MyClass 中前2行数据 mysql> select * from MyClass order by id limit 0,2;
    select经常合作where使用,以询问更确切更目眩神摇的数额。

    5.6 删除表中数据

     

     

     

    命令:delete from 表名 where 表达式

    举例说:删除表 MyClass中编号为1 的记录
    mysql> delete from MyClass where id=1;

    下边是二个删减数据前后表的相比较。

    FirstName LastName Age
    Peter Griffin 35
    Glenn Quagmire 33

    上面以PHP代码为例删除 "Persons" 表中具备 LastName='Griffin' 的记录:

    <?php 
       $con = mysql_connect("localhost","peter","abc123"); 
       if (!$con) 
       {
          die('Could not connect: ' . mysql_error()); 
       } 
       mysql_select_db("my_db", $con); 
       mysql_query("DELETE FROM Persons WHERE LastName='Griffin'"); mysql_close($con); 
    ?>
    

    在本次删除之后,表是这样的:

    FirstName LastName Age
    Glenn Quagmire 33

    5.5 查询表中的数据

    1)、查询全部行
    命令: select <字段1,字段2,...> from < 表名 > where < 表达式 >
    诸如:查看表 MyClass 中保有数据
       mysql> select * from MyClass;

    2)、查询前几行数据
    例如:查看表 MyClass 中前2行数据
    mysql> select * from MyClass order by id limit 0,2;

    select平时合营where使用,以询问更可相信更头眼昏花的数量。

    [mysql57-community]
    name=MySQL 5.7 Community Server
    baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/6/$basearch/
    enabled=1
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
    

    5.7 修改表中数据

    语法:update 表名 set 字段=新值,… where 条件
       mysql> update MyClass set name='Mary' where id=1;

    例子1:单表的MySQL UPDATE语句:
       UPDATE [LOW_PRIORITY] [IGNORE] tbl_name SET col_name1=expr1 [, col_name2=expr2 ...] [WHERE where_definition] [ORDER BY ...] [LIMIT row_count]

    例子2:多表的UPDATE语句:
    UPDATE [LOW_PRIORITY] [IGNORE] table_references SET col_name1=expr1 [, col_name2=expr2 ...] [WHERE where_definition]

    UPDATE语法能够用新值更新原有表行中的各列。SET子句提示要修改哪些列和要赋予什么值。WHERE子句钦赐应立异哪些行。若无WHERE子句,则更新具备的行。纵然钦命了OOdysseyDER BY子句,则依照被钦命的逐条对行进行立异。LIMIT子句用于给定一个限值,限制能够被更新的行的数据。

     

    5.6 删除表中数据

     

     

     

    命令:delete from 表名 where 表达式
    诸如:删除表 MyClass中编号为1 的记录 mysql> delete from MyClass where id=1;
    下边是四个删减数据前后表的对照。

    FirstName LastName Age
    Peter Griffin 35
    Glenn Quagmire 33

    上面以PHP代码为例删除 "Persons" 表中享有 LastName='Griffin' 的笔录:

    <?php 
       $con = mysql_connect("localhost","peter","abc123"); 
       if (!$con) 
       {
          die('Could not connect: ' . mysql_error()); 
       } 
       mysql_select_db("my_db", $con); 
       mysql_query("DELETE FROM Persons WHERE LastName='Griffin'"); mysql_close($con); 
    ?>
    

    在这次删除之后,表是这样的:

    FirstName LastName Age
    Glenn Quagmire 33

    5.7 修改表中数量

    语法:update 表名 set 字段=新值,… where 条件
       mysql> update MyClass set name='Mary' where id=1;

    例子1:单表的MySQL UPDATE语句:
       UPDATE [LOW_PRIORITY] [IGNORE] tbl_name SET col_name1=expr1 [, col_name2=expr2 ...] [WHERE where_definition] [ORDER BY ...] [LIMIT row_count]

    例子2:多表的UPDATE语句:
    UPDATE [LOW_PRIORITY] [IGNORE] table_references SET col_name1=expr1 [, col_name2=expr2 ...] [WHERE where_definition]

    UPDATE语法能够用新值更新原有表行中的各列。SET子句提示要修改哪些列和要给予什么值。WHERE子句钦点应立异哪些行。若无WHERE子句,则更新具有的行。如若钦命了OXC60DER BY子句,则遵照被钦赐的依次对行举行翻新。LIMIT子句用于给定贰个限值,限制能够被更新的行的数据。

     

    5.6 删除表中数据

     

     

     

    命令:delete from 表名 where 表达式

    比方:删除表 MyClass中编号为1 的记录
    mysql> delete from MyClass where id=1;

    上面是贰个刨除数据前后表的对立统一。

    FirstName LastName Age
    Peter Griffin 35
    Glenn Quagmire 33

    上面以PHP代码为例删除 "Persons" 表中享有 LastName='Griffin' 的记录:

    <?php 
       $con = mysql_connect("localhost","peter","abc123"); 
       if (!$con) 
       {
          die('Could not connect: ' . mysql_error()); 
       } 
       mysql_select_db("my_db", $con); 
       mysql_query("DELETE FROM Persons WHERE LastName='Griffin'"); mysql_close($con); 
    ?>
    

    在本次删除之后,表是那样的:

    FirstName LastName Age
    Glenn Quagmire 33

       将mysql80-community中enabled=0修改为enabled=1

    5.8 扩充字段

    命令:alter table 表名 add字段 类型 其他;
    诸如:在表MyClass中增添了三个字段passtest,类型为int(4),暗中同意值为0
       mysql> alter table MyClass add passtest int(4) default '0'

    加索引
       mysql> alter table 表名 add index 索引名 (字段名1[,字段名2 …]);
    例子: mysql> alter table employee add index emp_name (name);

    加主关键字的目录
      mysql> alter table 表名 add primary key (字段名);
    例子: mysql> alter table employee add primary key(id);

    加独一限制标准的目录
       mysql> alter table 表名 add unique 索引名 (字段名);
    例子: mysql> alter table employee add unique emp_name2(cardnumber);

    剔除有个别索引
       mysql> alter table 表名 drop index 索引名;
    例子: mysql>alter table employee drop index emp_name;

    追加字段:
    mysql> ALTER TABLE table_name ADD field_name field_type;

    修改原字段名称及项目:
    mysql> ALTER TABLE table_name CHANGE old_field_name new_field_name field_type;

    去除字段:
    MySQL ALTER TABLE table_name DROP field_name;

    5.7 修改表中数量

    语法:update 表名 set 字段=新值,… where 条件    mysql> update MyClass set name='Mary' where id=1;
    例子1:单表的MySQL UPDATE语句:    UPDATE [LOW_PRIORITY] [IGNORE] tbl_name SET col_name1=expr1 [, col_name2=expr2 ...] [WHERE where_definition] [ORDER BY ...] [LIMIT row_count]
    例子2:多表的UPDATE语句: UPDATE [LOW_PRIORITY] [IGNORE] table_references SET col_name1=expr1 [, col_name2=expr2 ...] [WHERE where_definition]
    UPDATE语法能够用新值更新原有表行中的各列。SET子句提醒要修改哪些列和要给予什么值。WHERE子句钦赐应立异哪些行。如果未有WHERE子句,则更新具备的行。要是钦赐了O奥迪Q7DER BY子句,则依据被钦点的逐条对行实行更新。LIMIT子句用于给定三个限值,限制能够被更新的行的数目。

     

    5.8 扩展字段

    命令:alter table 表名 add字段 类型 其他;
    比如说:在表MyClass中增添了多少个字段passtest,类型为int(4),暗许值为0
       mysql> alter table MyClass add passtest int(4) default '0'

    加索引
       mysql> alter table 表名 add index 索引名 (字段名1[,字段名2 …]);
    例子: mysql> alter table employee add index emp_name (name);

    加主关键字的目录
      mysql> alter table 表名 add primary key (字段名);
    例子: mysql> alter table employee add primary key(id);

    加唯一限制规范的目录
       mysql> alter table 表名 add unique 索引名 (字段名);
    例子: mysql> alter table employee add unique emp_name2(cardnumber);

    去除有些索引
       mysql> alter table 表名 drop index 索引名;
    例子: mysql>alter table employee drop index emp_name;

    充实字段:
    mysql> ALTER TABLE table_name ADD field_name field_type;

    修改原字段名称及项目:
    mysql> ALTER TABLE table_name CHANGE old_field_name new_field_name field_type;

    除去字段:
    MySQL ALTER TABLE table_name DROP field_name;

    5.7 修改表中多少

    语法:update 表名 set 字段=新值,… where 条件
       mysql> update MyClass set name='Mary' where id=1;

    例子1:单表的MySQL UPDATE语句:
       UPDATE [LOW_PRIORITY] [IGNORE] tbl_name SET col_name1=expr1 [, col_name2=expr2 ...] [WHERE where_definition] [ORDER BY ...] [LIMIT row_count]

    例子2:多表的UPDATE语句:
    UPDATE [LOW_PRIORITY] [IGNORE] table_references SET col_name1=expr1 [, col_name2=expr2 ...] [WHERE where_definition]

    UPDATE语法能够用新值更新原有表行中的各列。SET子句提醒要修改哪些列和要给予什么值。WHERE子句钦定应创新哪些行。若无WHERE子句,则更新具备的行。借使钦命了ORDER BY子句,则根据被钦点的相继对行进行翻新。LIMIT子句用于给定二个限值,限制能够被更新的行的多少。

     

    # Enable to use MySQL 8.0
    [mysql80-community]
    name=MySQL 8.0 Community Server
    baseurl=http://repo.mysql.com/yum/mysql-8.0-community/el/6/$basearch/
    enabled=1
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
    

    5.9 修改表名

    命令:rename table 原表名 to 新表名;

    比如说:在表MyClass名字改成为YouClass
       mysql> rename table MyClass to YouClass;

    当你施行 RENAME 时,你不能够有别的锁定的表或移动的专门的学问。你同样也必得有对原初表的 ALTEKoleos 和 DROP 权限,以及对新表的 CREATE 和 INSERT 权限。

    若是在多表更名中,MySQL 遭遇到其余错误,它将对全部被更名的表张开退步更名,将每件事物退回到中期状态。

    RENAME TABLE 在 MySQL 3.23.23 中被投入。

    5.8 扩充字段

    命令:alter table 表名 add字段 类型 其余; 举个例子:在表MyClass中增多了四个字段passtest,类型为int(4),暗许值为0    mysql> alter table MyClass add passtest int(4) default '0'
    加索引    mysql> alter table 表名 add index 索引名 (字段名1[,字段名2 …]); 例子: mysql> alter table employee add index emp_name (name);
    加主关键字的目录   mysql> alter table 表名 add primary key (字段名); 例子: mysql> alter table employee add primary key(id);
    加独一限制标准的目录    mysql> alter table 表名 add unique 索引名 (字段名); 例子: mysql> alter table employee add unique emp_name2(cardnumber);
    删除某些索引    mysql> alter table 表名 drop index 索引名; 例子: mysql>alter table employee drop index emp_name;
    追加字段: mysql> ALTER TABLE table_name ADD field_name field_type;
    修改原字段名称及项目: mysql> ALTER TABLE table_name CHANGE old_field_name new_field_name field_type;
    删除字段: MySQL ALTER TABLE table_name DROP field_name;

    5.9 修改表名

    命令:rename table 原表名 to 新表名;

    比方:在表MyClass名字改成为YouClass
       mysql> rename table MyClass to YouClass;

    当您施行 RENAME 时,你不能够有其余锁定的表或位移的事情。你同一也必得有对原初表的 ALTE陆风X8 和 DROP 权限,以及对新表的 CREATE 和 INSERT 权限。

    假定在多表更名中,MySQL 遭蒙受任何不当,它将对具有被更名的表举行失利更名,将每件东西退回到最早状态。

    RENAME TABLE 在 MySQL 3.23.23 中被投入。

    5.8 扩充字段

    命令:alter table 表名 add字段 类型 其他;
    比方说:在表MyClass中增加了二个字段passtest,类型为int(4),私下认可值为0
       mysql> alter table MyClass add passtest int(4) default '0'

    加索引
       mysql> alter table 表名 add index 索引名 (字段名1[,字段名2 …]);
    例子: mysql> alter table employee add index emp_name (name);

    加主关键字的目录
      mysql> alter table 表名 add primary key (字段名);
    例子: mysql> alter table employee add primary key(id);

    加唯一限制标准的目录
       mysql> alter table 表名 add unique 索引名 (字段名);
    例子: mysql> alter table employee add unique emp_name2(cardnumber);

    除去有个别索引
       mysql> alter table 表名 drop index 索引名;
    例子: mysql>alter table employee drop index emp_name;

    增添字段:
    mysql> ALTER TABLE table_name ADD field_name field_type;

    修改原字段名称及项目:
    mysql> ALTER TABLE table_name CHANGE old_field_name new_field_name field_type;

    除去字段:
    MySQL ALTER TABLE table_name DROP field_name;

    3、查看当前yum源能够安装的版本

    6、备份数据库

    命令在DOS的[url=file://\mysql\bin]\mysql\bin[/url]目录下推行

    1.导出整个数据库
    导出文件默许是存在mysqlbin目录下
        mysqldump -u 客户名 -p 数据库名 > 导出的文件名
        mysqldump -u user_name -p123456 database_name > outfile_name.sql

    2.导出贰个表
        mysqldump -u 客户名 -p 数据库名 表名> 导出的文件名
        mysqldump -u user_name -p database_name table_name > outfile_name.sql

    3.导出一个数据库结构
        mysqldump -u user_name -p -d –add-drop-table database_name > outfile_name.sql
        -d 未有数量 –add-drop-table 在各个create语句以前扩展三个drop table

    4.带语言参数导出
        mysqldump -uroot -p –default-character-set=latin1 –set-charset=gbk –skip-opt database_name > outfile_name.sql

    举例,将aaa库备份到文件back_aaa中:
      [root@test1 root]# cd /home/data/mysql
      [root@test1 mysql]# mysqldump -u root -p --opt aaa > back_aaa

    5.9 修改表名

    命令:rename table 原表名 to 新表名;
    比如说:在表MyClass名字改成为YouClass    mysql> rename table MyClass to YouClass;
    当你实践 RENAME 时,你不能够有别的锁定的表或位移的政工。你同样也必需有对原初表的 ALTE福特Explorer 和 DROP 权限,以及对新表的 CREATE 和 INSERT 权限。
    借使在多表更名中,MySQL 遭遇到其余错误,它将对持有被更名的表张开失利更名,将每件东西退回到先前时代状态。
    RENAME TABLE 在 MySQL 3.23.23 中被投入。

    6、备份数据库

    命令在DOS的[url=file://\mysql\bin]\mysql\bin[/url]目录下实行

    1.导出全体数据库
    导出文件默许是存在mysqlbin目录下
        mysqldump -u 顾客名 -p 数据库名 > 导出的文书名
        mysqldump -u user_name -p123456 database_name > outfile_name.sql

    2.导出二个表
        mysqldump -u 客户名 -p 数据库名 表名> 导出的文本名
        mysqldump -u user_name -p database_name table_name > outfile_name.sql

    3.导出贰个数据库结构
        mysqldump -u user_name -p -d –add-drop-table database_name > outfile_name.sql
        -d 没有数量 –add-drop-table 在每一个create语句以前扩大二个drop table

    4.带语言参数导出
        mysqldump -uroot -p –default-character-set=latin1 –set-charset=gbk –skip-opt database_name > outfile_name.sql

    譬喻说,将aaa库备份到文件back_aaa中:
      [root@test1 root]# cd /home/data/mysql
      [root@test1 mysql]# mysqldump -u root -p --opt aaa > back_aaa

    5.9 修改表名

    命令:rename table 原表名 to 新表名;

    诸如:在表MyClass名字改成为YouClass
       mysql> rename table MyClass to YouClass;

    当您施行 RENAME 时,你不能够有任何锁定的表或位移的业务。你同样也必需有对原初表的 ALTE凯雷德 和 DROP 权限,以及对新表的 CREATE 和 INSERT 权限。

    若果在多表更名中,MySQL 遭境遇任何不当,它将对具备被更名的表举办败北更名,将每件东西退回到最先状态。

    RENAME TABLE 在 MySQL 3.23.23 中被加入。

    yum repolist enabled | grep mysql
    

    7.1 叁个建库和建表的实例1

    drop database if exists school; //假使存在SCHOOL则删除
    create database school; //建立库SCHOOL
    use school; //打开库SCHOOL
    create table teacher //建立表TEACHER
    (
        id int(3) auto_increment not null primary key,
        name char(10) not null,
        address varchar(50) default ‘深圳’,
        year date
    ); //建表截止

    //以下为插入字段
    insert into teacher values(”,’allen’,'瓜达拉哈拉一中’,'一九八〇-10-10′);
    insert into teacher values(”,’jack’,'菲尼克斯二中’,'一九七四-12-23′);

    若是您在mysql提示符键入上边的一声令下也得以,但不便利调节和测验。
    1、你能够将以上命令原样写入四个文本文件中,假诺为school.sql,然后复制到c:\下,并在DOS状态步向目录[url=file://\mysql\bin]\mysql\bin[/url],然后键入以下命令:
        mysql -uroot -p密码 < c:\school.sql
    设若成功,空出一行无别的展现;如有错误,会有提示。(以上命令已经调试,你只要将//的注释去掉就可以使用)。

    2、或然进入命令行后使用 mysql> source c:\school.sql; 也足以将school.sql文件导入数据库中。

    6、备份数据库

    命令在DOS的[url=file://\mysql\bin]\mysql\bin[/url]目录下进行
    1.导出全部数据库 导出文件暗中同意是存在mysqlbin目录下     mysqldump -u 顾客名 -p 数据库名 > 导出的文书名     mysqldump -u user_name -p123456 database_name > outfile_name.sql
    2.导出三个表     mysqldump -u 顾客名 -p 数据库名 表名> 导出的文本名     mysqldump -u user_name -p database_name table_name > outfile_name.sql
    3.导出三个数据库结构     mysqldump -u user_name -p -d –add-drop-table database_name > outfile_name.sql     -d 未有数据 –add-drop-table 在各样create语句在此之前扩张多少个drop table
    4.带语言参数导出     mysqldump -uroot -p –default-character-set=latin1 –set-charset=gbk –skip-opt database_name > outfile_name.sql
    比方说,将aaa库备份到文件back_aaa中:   [root@test1 root]# cd /home/data/mysql   [root@test1 mysql]# mysqldump -u root -p --opt aaa > back_aaa

    7.1 多个建库和建表的实例1

    drop database if exists school; //如若存在SCHOOL则删除
    create database school; //建立库SCHOOL
    use school; //打开库SCHOOL
    create table teacher //建立表TEACHER
    (
        id int(3) auto_increment not null primary key,
        name char(10) not null,
        address varchar(50) default ‘深圳’,
        year date
    ); //建表结束

    //以下为插入字段
    insert into teacher values(”,’allen’,'艾哈迈达巴德一中’,'一九七八-10-10′);
    insert into teacher values(”,’jack’,'罗安达二中’,'1972-12-23′);

    假若您在mysql提示符键入上面的授命也能够,但不便利调节和测验。
    1、你能够将上述命令原样写入二个文书文件中,假使为school.sql,然后复制到c:\下,并在DOS状态步向目录[url=file://\mysql\bin]\mysql\bin[/url],然后键入以下命令:
        mysql -uroot -p密码 < c:\school.sql
    若是成功,空出一行无其余展现;如有错误,会有提醒。(以上命令已经调节和测验,你只要将//的笺注去掉就能够使用)。

    2、或然步入命令行后选拔 mysql> source c:\school.sql; 也可以将school.sql文件导入数据库中。

    6、备份数据库

    命令在DOS的[url=file://\mysql\bin]\mysql\bin[/url]目录下推行

    1.导出整个数据库
    导出文件暗中同意是存在mysqlbin目录下
        mysqldump -u 客商名 -p 数据库名 > 导出的文件名
        mysqldump -u user_name -p123456 database_name > outfile_name.sql

    2.导出二个表
        mysqldump -u 客商名 -p 数据库名 表名> 导出的文件名
        mysqldump -u user_name -p database_name table_name > outfile_name.sql

    3.导出四个数据库结构
        mysqldump -u user_name -p -d –add-drop-table database_name > outfile_name.sql
        -d 未有数据 –add-drop-table 在各样create语句此前增加一个drop table

    4.带语言参数导出
        mysqldump -uroot -p –default-character-set=latin1 –set-charset=gbk –skip-opt database_name > outfile_name.sql

    诸如,将aaa库备份到文件back_aaa中:
      [root@test1 root]# cd /home/data/mysql
      [root@test1 mysql]# mysqldump -u root -p --opt aaa > back_aaa

    三、安装mysql

    7.2 二个建库和建表的实例2

    drop database if exists school; //假设存在SCHOOL则删除
    create database school; //建立库SCHOOL
    use school; //打开库SCHOOL
    create table teacher //建立表TEACHER
    (
        id int(3) auto_increment not null primary key,
        name char(10) not null,
        address varchar(50) default ''深圳'',
        year date
    ); //建表结束

    //以下为插入字段
    insert into teacher values('''',''glchengang'',''卡萨布兰卡一中'',''1978-10-10'');
    insert into teacher values('''',''jack'',''尼科西亚一中'',''1972-12-23'');

    注:在建表中
    1、将ID设为长度为3的数字字段:int(3);并让它每一个记录自动加一:auto_increment;并不可能为空:not null;何况让她产生主字段primary key。

    2、将NAME设为长度为10的字符字段

    3、将ADDRESS设为长度50的字符字段,而且缺省值为费城。

    4、将YEAKoleos设为日期字段。

    7.1 多少个建库和建表的实例1

    drop database if exists school; //假若存在SCHOOL则删除 create database school; //创设库SCHOOL use school; //展开库SCHOOL create table teacher //创建表TEACHELX570 (     id int(3) auto_increment not null primary key,     name char(10) not null,     address varchar(50) default ‘柏林(Berlin)’,     year date ); //建表截至
    //以下为插入字段 insert into teacher values(”,’allen’,'艾哈迈达巴德一中’,'1980-10-10′); insert into teacher values(”,’jack’,'浦那二中’,'一九七三-12-23′);
    倘令你在mysql提醒符键入上边的下令也足以,但不平价调节和测试。 1、你能够将以上命令原样写入一个文书文件中,假如为school.sql,然后复制到c:\下,并在DOS状态踏入目录[url=file://\mysql\bin]\mysql\bin[/url],然后键入以下命令:     mysql -uroot -p密码 < c:\school.sql 如若成功,空出一行无任何显示;如有错误,会有提示。(以上命令已经调节和测量检验,你只要将//的注释去掉就可以使用)。
    2、或许步入命令行后采取 mysql> source c:\school.sql; 也足以将school.sql文件导入数据库中。

    7.2 二个建库和建表的实例2

    drop database if exists school; //如若存在SCHOOL则删除
    create database school; //建立库SCHOOL
    use school; //打开库SCHOOL
    create table teacher //建立表TEACHER
    (
        id int(3) auto_increment not null primary key,
        name char(10) not null,
        address varchar(50) default ''深圳'',
        year date
    ); //建表停止

    //以下为插入字段
    insert into teacher values('''',''glchengang'',''卡塔尔多哈一中'',''一九八〇-10-10'');
    insert into teacher values('''',''jack'',''布Rees班一中'',''1973-12-23'');

    注:在建表中
    1、将ID设为长度为3的数字字段:int(3);并让它每一个记录自动加一:auto_increment;并无法为空:not null;并且让她成为主字段primary key。

    2、将NAME设为长度为10的字符字段

    3、将ADDRESS设为长度50的字符字段,並且缺省值为布拉迪斯拉发。

    4、将YEAEscort设为日期字段。

     

     

    工欲善其事,必先利其器。

    7.1 多少个建库和建表的实例1

    drop database if exists school; //若是存在SCHOOL则删除
    create database school; //建立库SCHOOL
    use school; //打开库SCHOOL
    create table teacher //建立表TEACHER
    (
        id int(3) auto_increment not null primary key,
        name char(10) not null,
    新葡亰496net,    address varchar(50) default ‘深圳’,
        year date
    ); //建表停止

    //以下为插入字段
    insert into teacher values(”,’allen’,'哈拉雷一中’,'1978-10-10′);
    insert into teacher values(”,’jack’,'洛桑二中’,'1974-12-23′);

    万一您在mysql提醒符键入下边包车型客车吩咐也足以,但不便利调节和测量检验。
    1、你能够将以上命令原样写入八个文件文件中,要是为school.sql,然后复制到c:\下,并在DOS状态步入目录[url=file://\mysql\bin]\mysql\bin[/url],然后键入以下命令:
        mysql -uroot -p密码 < c:\school.sql
    假若成功,空出一行无别的显示;如有错误,会有提示。(以上命令已经调节和测量试验,你只要将//的笺注去掉即可使用)。

    2、只怕进入命令行后选用 mysql> source c:\school.sql; 也足以将school.sql文件导入数据库中。

    yum install mysql-community-server
    

    7.2 三个建库和建表的实例2

    drop database if exists school; //借使存在SCHOOL则删除 create database school; //创建库SCHOOL use school; //张开库SCHOOL create table teacher //创建表TEACHECRUISER (     id int(3) auto_increment not null primary key,     name char(10) not null,     address varchar(50) default ''温哥华'',     year date ); //建表截止
    //以下为插入字段 insert into teacher values('''',''glchengang'',''阿布扎比一中'',''一九八零-10-10''); insert into teacher values('''',''jack'',''卡塔尔多哈一中'',''1973-12-23'');
    注:在建表中 1、将ID设为长度为3的数字字段:int(3);并让它每一个记录自动加一:auto_increment;并不能够为空:not null;并且让她改成主字段primary key。
    2、将NAME设为长度为10的字符字段
    3、将ADDRESS设为长度50的字符字段,何况缺省值为温哥华。
    4、将YEA汉兰达设为日期字段。

     

     

    7.2 三个建库和建表的实例2

    drop database if exists school; //如果存在SCHOOL则删除
    create database school; //建立库SCHOOL
    use school; //打开库SCHOOL
    create table teacher //建立表TEACHER
    (
        id int(3) auto_increment not null primary key,
        name char(10) not null,
        address varchar(50) default ''深圳'',
        year date
    ); //建表结束

    //以下为插入字段
    insert into teacher values('''',''glchengang'',''日内瓦一中'',''一九八〇-10-10'');
    insert into teacher values('''',''jack'',''布拉迪斯拉发一中'',''1972-12-23'');

    注:在建表中
    1、将ID设为长度为3的数字字段:int(3);并让它每一种记录自动加一:auto_increment;并无法为空:not null;何况让她形成主字段primary key。

    2、将NAME设为长度为10的字符字段

    3、将ADDRESS设为长度50的字符字段,并且缺省值为尼科西亚。

    4、将YEALX570设为日期字段。

    四、启动mysql服务器     

    service mysqld start
    

    mysql运维过程中,会自动举办以下操作:

    1、初始化msql

    2、贰个SSL证书和密钥文件在数据目录中生成(/var/lib/mysql)。

    3、 validate_password plugin 被安装

    4、三个至上客商帐号'root'@'localhost 被成立,何况会为帐号生成随机密码,随机密码存款和储蓄在错误日志文件之中。要显得它,使用以下命令:

    grep 'temporary password' /var/log/mysqld.log
    

    在设置到位后应尽早选拔刚才生成的任意密码登录mysql,然后修改超级顾客帐号密码  

    shell> mysql -uroot -p 
    mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
    

     

    五、查看mysql运营状态

    shell>service mysqld status
    mysqld (pid  20726) is running...
    

     六、安装运营难题

      1、mysql运营出现"initialize specified but the data directory has files in it. Aborting"错误?

         将引得/var/lib/mysql删除后再次起动即可     

    rm /var/lib/mysql
    service mysqld start
    

    七、mysql常用命令

    1、连接Mysql

    格式: mysql -h主机地址 -u客户名 -p客户密码

    1、连接受本机上的MYSQL。
    率先张开DOS窗口,然后步向目录mysqlbin,再键入命令mysql -u root -p,回车后提示您输密码.注意顾客名前能够有空格也能够未有空格,可是密码前必须未有空格,否则令你重新输入密码。

    一旦刚安装好MYSQL,超级客户root是未曾密码的,故直接回车就能够步入到MYSQL中了,MYSQL的升迁符是: mysql>

    2、连接到长途主机上的MYSQL。假使远程主机的IP为:110.110.110.110,客户名字为root,密码为abcd123。则键入以下命令:
        mysql -h110.110.110.110 -u root -p 123;(注:u与root之间能够不要加空格,另外也同样)

    3、退出MYSQL命令: exit (回车)

     

    2、修改密码

    格式:mysqladmin -u用户名 -p旧密码 password 新密码

    1、给root加个密码ab12。
    首先在DOS下走入目录mysqlbin,然后键入以下命令
        mysqladmin -u root -password ab12
    注:因为开始时root未有密码,所以-p旧密码一项就能够总结了。

    2、再将root的密码改为djg345。
        mysqladmin -u root -p ab12 password djg345

    3、扩张新客商

    在乎:和方面分歧,上面包车型地铁因为是MYSQL情况中的命令,所从前边都带二个支行作为命令结束符

    格式:grant select on 数据库.* to 客户名@登入主机 identified by “密码”

    1、扩大二个顾客test1密码为abc,让她能够在任何主机上登入,并对具备数据库有查询、插入、修改、删除的权能。首先用root客商连入MYSQL,然后键入以下命令:
        grant select,insert,update,delete on *.* to [email=test1@”%]test1@”%[/email]” Identified by “abc”;

    但扩充的客商是老大高危的,你想如有些人知情test1的密码,那么她就可以在internet上的其他一台微型Computer上登入你的mysql数据库并对您的数据可感觉所欲为了,解决办法见2。

    2、扩大三个顾客test2密码为abc,让他只可以够在localhost上登入,并能够对数据库mydb举行询问、插入、修改、删除的操作(localhost指本地主机,即MYSQL数据库所在的那台主机),那样客商即利用知道test2的密码,他也无从从internet上直接待上访谈数据库,只可以通过MYSQL主机上的web页来访问了。
        grant select,insert,update,delete on mydb.* to [email=test2@localhost]test2@localhost[/email] identified by “abc”;

    只要您不想test2有密码,能够再打叁个发令将密码消掉。
        grant select,insert,update,delete on mydb.* to [email=test2@localhost]test2@localhost[/email] identified by “”;

     

    4.1 创立数据库

    留意:创制数据库从前要先延续Mysql服务器

    指令:create database <数据库名>

    例1:创设多少个名叫xhkdb的数据库
       mysql> create database xhkdb;

    例2:创设数据库并分配客户

    ①CREATE DATABASE 数据库名;

    ②GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTE福睿斯 ON 数据库名.* TO 数据库名@localhost IDENTIFIED BY '密码';

    ③SET PASSWO福特ExplorerD FO哈弗 '数据库名'@'localhost' = OLD_PASSWORD('密码');

    依次推行3个指令完毕数据库创造。注意:粤语“密码”和“数据库”是户自身须求安装的。

    4.2 展现数据库

    命令:show databases (注意:最终有个s)
    mysql> show databases;

    留意:为了不再显得的时候乱码,要修改数据库私下认可编码。以下以GBK编码页面为例进行认证:

    1、修改MYSQL的布局文件:my.ini里面修改default-character-set=gbk
    2、代码运转时修改:
       ①Java代码:jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=gbk
       ②PHP代码:header("Content-Type:text/html;charset=gb2312");
       ③C语言代码:int mysql_set_character_set( MYSQL * mysql, char * csname);
    该函数用于为当下总是装置暗许的字符集。字符串csname钦点了1个有效的字符集名称。连接核查成为字符集的暗许查对。该函数的行事措施与SET NAMES语句看似,但它还是能设置mysql- > charset的值,从而影响了由mysql_real_escape_string() 设置的字符集。

    4.3 删除数据库

    指令:drop database <数据库名>
    举个例子:删除名叫 xhkdb的数据库
    mysql> drop database xhkdb;

    事例1:删除一个早就明确期存款在的数据库
       mysql> drop database drop_database;
       Query OK, 0 rows affected (0.00 sec)

    事例2:删除八个不明确期存款在的数据库
       mysql> drop database drop_database;
       ERROR 1008 (HY000): Can't drop database 'drop_database'; database doesn't exist
          //发生错误,不能够去除'drop_database'数据库,该数据库不设有。
       mysql> drop database if exists drop_database;
       Query OK, 0 rows affected, 1 warning (0.00 sec)//发生五个警示表明此数据库不设有
       mysql> create database drop_database;
       Query OK, 1 row affected (0.00 sec)
       mysql> drop database if exists drop_database;//if exists 推断数据库是还是不是存在,官样文章也不产生错误
       Query OK, 0 rows affected (0.00 sec)

    4.4 连接数据库

    指令: use <数据库名>

    比如:若是xhkdb数据仓库储存在,尝试存取它:
       mysql> use xhkdb;
    显示器提醒:Database changed

    use 语句能够文告MySQL把db_name数据库作为暗许(当前)数据库使用,用于后续语句。该数据库保持为暗许数据库,直到语段的末段,或许直到发表贰个两样的USE语句:
       mysql> USE db1;
       mysql> SELECT COUNT(*) FROM mytable;   # selects from db1.mytable
       mysql> USE db2;
       mysql> SELECT COUNT(*) FROM mytable;   # selects from db2.mytable

    利用USE语句为三个一定的当下的数据库做标识,不会阻拦你访问另外数据库中的表。上边包车型大巴例证能够从db1数据库访谈小编表,并从db2数据库访谈编辑表:
       mysql> USE db1;
       mysql> SELECT author_name,editor_name FROM author,db2.editor
           ->        WHERE author.editor_id = db2.editor.editor_id;

    USE语句被设置出来,用于与Sybase相包容。

    稍加网络朋友问到,连接以后怎么退出。其实,不用退出来,use 数据库后,使用show databases就能够查询全数数据库,如若想跳到别的数据库,用
       use 别的数据库名字
    就能够了。

    4.5 当前选用的数据库

    命令:mysql> select database();

    MySQL中SELECT命令类似于另外编制程序语言里的print也许write,你能够用它来展现三个字符串、数字、数学表明式的结果等等。如何采用MySQL中SELECT命令的异样作用?

    1.显示MYSQL的版本
    mysql> select version(); 
    -----------------------  
    | version()             | 
    -----------------------  
    | 6.0.4-alpha-community | 
    -----------------------  
    1 row in set (0.02 sec) 

    2. 来稳当前时光
    mysql> select now(); 
    ---------------------  
    | now()               | 
    ---------------------  
    | 2009-09-15 22:35:32 | 
    ---------------------  
    1 row in set (0.04 sec) 

    3. 出示年月日
    SELECT DAYOFMONTH(CURRENT_DATE); 
    --------------------------  
    | DAYOFMONTH(CURRENT_DATE) | 
    --------------------------  
    |                       15 | 
    --------------------------  
    1 row in set (0.01 sec) 
      
    SELECT MONTH(CURRENT_DATE); 
    ---------------------  
    | MONTH(CURRENT_DATE) | 
    ---------------------  
    |                   9 | 
    Sql控制台命令,Mysql命令大全。 ---------------------  
    1 row in set (0.00 sec) 
      
    SELECT YEAR(CURRENT_DATE); 
    --------------------  
    | YEAR(CURRENT_DATE) | 
    --------------------  
    |               2009 | 
    --------------------  
    1 row in set (0.00 sec) 

    4. 显得字符串
    mysql> SELECT "welecome to my blog!"; 
    ----------------------  
    | welecome to my blog! | 
    ----------------------  
    | welecome to my blog! | 
    ----------------------  
    1 row in set (0.00 sec) 

    5. 当总括器用
    select ((4 * 4) / 10 ) 25; 
    ----------------------  
    | ((4 * 4) / 10 ) 25 | 
    ----------------------  
    |                26.60 | 
    ----------------------  
    1 row in set (0.00 sec) 

    6. 串接字符串
    select CONCAT(f_name, " ", l_name) 
    AS Name 
    from employee_data 
    where title = 'Marketing Executive'; 
    ---------------  
    | Name          | 
    ---------------  
    | Monica Sehgal | 
    | Hal Simlai    | 
    | Joseph Irvine | 
    ---------------  
    3 rows in set (0.00 sec) 
    留意:这里用到CONCAT()函数,用来把字符串串接起来。其它,大家还用到在此以前学到的AS给结荚列'CONCAT(f_name, " ", l_Sql控制台命令,Mysql命令大全。name)'起了个假名。

    5.1 创制数据表

    命令:create table <表名> ( <字段名1> <类型1> [,..<字段名n> <类型n>]);

    诸如,创立三个名称为MyClass的表,

    字段名 数字类型 数据宽度 是否为空 是否主键 自动增加 默认值
    id int 4 primary key auto_increment  
    name char 20      
    sex int 4     0
    degree double 16      

    mysql> create table MyClass(
    > id int(4) not null primary key auto_increment,
    > name char(20) not null,
    > sex int(4) not null default '0',
    > degree double(16,2));

    5.3 删除数据表

    命令:drop table <表名>

    举例:删除表名称叫 MyClass 的表
       mysql> drop table MyClass;

    DROP TABLE用于裁撤贰个或三个表。您必需有每一种表的DROP权限。全数的表数据和表定义会被撤回,所以利用本语句要小心!

    介怀:对于一个带分区的表,DROP TABLE会永恒性地撤除表定义,撤销各分区,并裁撤积累在这个分区中的全数数据。DROP TABLE还或许会撤除与被撤回的表有关联的分区定义(.par)文件。

    对与空中楼阁的表,使用IF EXISTS用于幸免错误发生。当使用IF EXISTS时,对于每种子虚乌有的表,会扭转三个NOTE。

    RESTMuranoICT和CASCADE能够使分区更易于。如今,REST奥迪Q7ICT和CASCADE不起作用。

    5.4 表插入数据

    命令:insert into <表名> [( <字段名1>[,..<字段名n > ])] values ( 值1 )[, ( 值n )]

    举个例子:往表 MyClass中插入二条记下, 那二条记下表示:编号为1的名叫汤姆的实际业绩为96.45, 编号为2 的名称叫Joan 的成就为82.99, 编号为3 的名叫Wang 的大成为96.5。
       mysql> insert into MyClass values(1,'Tom',96.45),(2,'Joan',82.99), (2,'Wang', 96.59);

    留意:insert into每一回只好向表中插入一条记下。

    5.5 查询表中的数据

    1)、查询全部行
    命令: select <字段1,字段2,...> from < 表名 > where < 表达式 >
    诸如:查看表 MyClass 中有着数据
       mysql> select * from MyClass;

    2)、查询前几行数据
    例如:查看表 MyClass 中前2行数据
    mysql> select * from MyClass order by id limit 0,2;

    select日常合作where使用,以询问越来越准确更头昏眼花的数目。

    5.6 删除表中数据

     

     

     

    命令:delete from 表名 where 表达式

    比如:删除表 MyClass中编号为1 的记录
    mysql> delete from MyClass where id=1;

    上面是一个剔除数据前后表的相持统一。

    FirstName LastName Age
    Peter Griffin 35
    Glenn Quagmire 33

    上边以PHP代码为例删除 "Persons" 表中存有 LastName='Griffin' 的记录:

    <?php 
       $con = mysql_connect("localhost","peter","abc123"); 
       if (!$con) 
       {
          die('Could not connect: ' . mysql_error()); 
       } 
       mysql_select_db("my_db", $con); 
       mysql_query("DELETE FROM Persons WHERE LastName='Griffin'"); mysql_close($con); 
    ?>
    

    在本次删除之后,表是那样的:

    FirstName LastName Age
    Glenn Quagmire 33

    5.7 修改表中多少

    语法:update 表名 set 字段=新值,… where 条件
       mysql> update MyClass set name='Mary' where id=1;

    例子1:单表的MySQL UPDATE语句:
       UPDATE [LOW_PRIORITY] [IGNORE] tbl_name SET col_name1=expr1 [, col_name2=expr2 ...] [WHERE where_definition] [ORDER BY ...] [LIMIT row_count]

    例子2:多表的UPDATE语句:
    UPDATE [LOW_PRIORITY] [IGNORE] table_references SET col_name1=expr1 [, col_name2=expr2 ...] [WHERE where_definition]

    UPDATE语法能够用新值更新原有表行中的各列。SET子句提示要修改哪些列和要授予什么值。WHERE子句钦定应立异哪些行。如果未有WHERE子句,则更新具有的行。纵然钦点了ORAV4DER BY子句,则根据被钦定的顺序对行举办翻新。LIMIT子句用于给定一个限值,限制能够被更新的行的数量。

     

    5.8 扩张字段

    命令:alter table 表名 add字段 类型 其他;
    例如说:在表MyClass中增多了叁个字段passtest,类型为int(4),私下认可值为0
       mysql> alter table MyClass add passtest int(4) default '0'

    加索引
       mysql> alter table 表名 add index 索引名 (字段名1[,字段名2 …]);
    例子: mysql> alter table employee add index emp_name (name);

    加主关键字的目录
      mysql> alter table 表名 add primary key (字段名);
    例子: mysql> alter table employee add primary key(id);

    加独一限制条件的目录
       mysql> alter table 表名 add unique 索引名 (字段名);
    例子: mysql> alter table employee add unique emp_name2(cardnumber);

    除去有个别索引
       mysql> alter table 表名 drop index 索引名;
    例子: mysql>alter table employee drop index emp_name;

    追加字段:
    mysql> ALTER TABLE table_name ADD field_name field_type;

    修改原字段名称及项目:
    mysql> ALTER TABLE table_name CHANGE old_field_name new_field_name field_type;

    删去字段:
    MySQL ALTER TABLE table_name DROP field_name;

    5.9 修改表名

    命令:rename table 原表名 to 新表名;

    诸如:在表MyClass名字改成为YouClass
       mysql> rename table MyClass to YouClass;

    当您试行 RENAME 时,你不能够有其他锁定的表或活动的政工。你同样也不可能不有对原初表的 ALTESportage 和 DROP 权限,以及对新表的 CREATE 和 INSERT 权限。

    如果在多表更名中,MySQL 遭境遇任何不当,它将对持有被更名的表实行战败更名,将每件东西退回到最早状态。

    RENAME TABLE 在 MySQL 3.23.23 中被投入。

    6、备份数据库

    命令在DOS的[url=file://\mysql\bin]\mysql\bin[/url]目录下进行

    1.导出全体数据库
    导出文件暗许是存在mysqlbin目录下
        mysqldump -u 客户名 -p 数据库名 > 导出的文书名
        mysqldump -u user_name -p123456 database_name > outfile_name.sql

    2.导出三个表
        mysqldump -u 客户名 -p 数据库名 表名> 导出的文本名
        mysqldump -u user_name -p database_name table_name > outfile_name.sql

    3.导出叁个数据库结构
        mysqldump -u user_name -p -d –add-drop-table database_name > outfile_name.sql
        -d 十分少 –add-drop-table 在每一种create语句在此之前扩展二个drop table

    4.带语言参数导出
        mysqldump -uroot -p –default-character-set=latin1 –set-charset=gbk –skip-opt database_name > outfile_name.sql

    诸如,将aaa库备份到文件back_aaa中:
      [root@test1 root]# cd /home/data/mysql
      [root@test1 mysql]# mysqldump -u root -p --opt aaa > back_aaa

    7.1 二个建库和建表的实例1

    drop database if exists school; //假诺存在SCHOOL则删除
    create database school; //建立库SCHOOL
    use school; //打开库SCHOOL
    create table teacher //建立表TEACHER
    (
        id int(3) auto_increment not null primary key,
        name char(10) not null,
        address varchar(50) default ‘深圳’,
        year date
    ); //建表截止

    //以下为插入字段
    insert into teacher values(”,’allen’,'菲尼克斯一中’,'1980-10-10′);
    insert into teacher values(”,’jack’,'第比利斯二中’,'壹玖柒壹-12-23′);

    假若你在mysql提示符键入上边的一声令下也足以,但不便于调节和测量检验。
    1、你能够将上述命令原样写入二个文书文件中,固然为school.sql,然后复制到c:\下,并在DOS状态步向目录[url=file://\mysql\bin]\mysql\bin[/url],然后键入以下命令:
        mysql -uroot -p密码 < c:\school.sql
    假如成功,空出一行无任何彰显;如有错误,会有提醒。(以上命令已经调节和测量试验,你假使将//的注释去掉就可以使用)。

    2、大概步向命令行后使用 mysql> source c:\school.sql; 也得以将school.sql文件导入数据库中。

    7.2 三个建库和建表的实例2

    drop database if exists school; //若是存在SCHOOL则删除
    create database school; //建立库SCHOOL
    use school; //打开库SCHOOL
    create table teacher //建立表TEACHER
    (
        id int(3) auto_increment not null primary key,
        name char(10) not null,
        address varchar(50) default ''深圳'',
        year date
    ); //建表停止

    //以下为插入字段
    insert into teacher values('''',''glchengang'',''深圳一中'',''壹玖柒玖-10-10'');
    insert into teacher values('''',''jack'',''柏林(Berlin)一中'',''一九七二-12-23'');

    注:在建表中
    1、将ID设为长度为3的数字字段:int(3);并让它每一种记录自动加一:auto_increment;并不能为空:not null;而且让她成为主字段primary key。

    2、将NAME设为长度为10的字符字段

    3、将ADDRESS设为长度50的字符字段,何况缺省值为尼科西亚。

    4、将YEA奥迪Q3设为日期字段。

     

    参谋文书档案:

    本文由新葡亰496net发布于网络数据库,转载请注明出处:Sql控制台命令,Mysql命令大全

    关键词: