来源:自学PHP网 时间:2015-04-16 10:50 作者: 阅读:次
[导读] 对于想要从事或爱好mysql相关工作的童鞋们,有必要掌握在命令行下对mysql实现一些简单的操作。本文从描述了如何登录到mysql数据库服务器,如何在mysql提示符下发布命令,创建数据库...
对于想要从事或爱好mysql相关工作的童鞋们,有必要掌握在命令行下对mysql实现一些简单的操作。本文从描述了如何登录到mysql数据库服务器,如何在mysql提示符下发布命令,创建数据库,以及执行一些简单的DML操作。 1、连接到与退出mysql 为了连接mysql数据库服务器,当调用mysql时,通常需要提供一个MySQL用户名并且很可能需要一个密码。如果服务器 运行在登录服务器之外的其它机器上,还需要指定主机名。联系管理员以找出进行连接所使用的参数 (即,连接的主机 、用户名和使用的密码)。知道正确的参数后,可以按照以下方式进行连接: shell> mysql -h host -u user -p mysql> select version(),current_date; +---------------------------------------+--------------+ | version() | current_date | +---------------------------------------+--------------+ | 5.6.17-enterprise-commercial-advanced | 2014-04-28 | +---------------------------------------+--------------+ 1 row in set (0.03 sec) --在允许匿名登录到本地服务器的情下可以直接在shell提示符下直接输入mysql即可实现登录 mysql> #提示符告诉你mysql准备为你输入命令。 shell> mysql --输入分号表示结束命令输入并执行该命令 --成功地连接后,可以在mysql>提示下输入QUIT (或\q ,exit)随时退出 mysql> QUIT Bye --在Unix中,也可以按control-D键断开服务器。 mysql执行命令可分为非交互与交互模式 a) 非交互模式 非交互模式,也叫批模式,也就是将想要运行的命令放在一个文件中,然后告诉mysql从文件读取它的输入。 通常用于返回数据量较大,以及批量管理,执行特殊脚本运行的情形。 shell> mysql <query.sql [root@linux1 ~]# more query.sql show databases; use cnfo select * from tb_tmp; [root@linux1 ~]# mysql -u root -pmysql <query.sql Warning: Using a password on the command line interface can be insecure. Database information_schema cnfo mysql performance_schema test name sex birth Jack F 2014-04-28 John M 2013-04-28 --也可以使用下面的2种方式来执行批 mysql > source /<dir>/filename mysql > \./<dir>/finename --如下面的演示 [root@linux1 ~]# mysql -u root -pmysql mysql> source query.sql +--------------------+ | Database | +--------------------+ | information_schema | | cnfo | | mysql | | performance_schema | | test | +--------------------+ 5 rows in set (0.00 sec) Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed +------+------+------------+ | name | sex | birth | +------+------+------------+ | Jack | F | 2014-04-28 | | John | M | 2013-04-28 | +------+------+------------+ 2 rows in set (0.00 sec) 也可以在shell模式下直接执行SQL,如下面的方法: -e or --execution=option shell>mysql -e "SQL cmd1;SQL cmd2;.." shell>mysql --execute="SQL cmd1;SQL cmd2;.." b) 交互模式 交互模式就是直接在mysql提示符下发布命令并执行命令。 如下操作,不区分大小写,输入回车后会得到命令执行的结果,即为交互模式。 mysql> SELECT VERSION(), CURRENT_DATE; mysql> select version(), current_date; mysql> SeLeCt vErSiOn(), current_DATE; --简单计算 mysql> select power(2,3),(5-1)*4; +------------+---------+ | power(2,3) | (5-1)*4 | +------------+---------+ | 8 | 16 | +------------+---------+ 1 row in set (0.00 sec) --分号分割多行 mysql> select version();select current_date; +---------------------------------------+ | version() | +---------------------------------------+ | 5.6.17-enterprise-commercial-advanced | +---------------------------------------+ 1 row in set (0.01 sec) +--------------+ | current_date | +--------------+ | 2014-04-28 | +--------------+ 1 row in set (0.00 sec) --换行输入命令 --注,可以输入空行 mysql> select user(), -> current_date; +----------------+--------------+ | user() | current_date | +----------------+--------------+ | root@localhost | 2014-04-28 | +----------------+--------------+ 1 row in set (0.00 sec) --取消执行当前命令 mysql> select current_date()\c 4、mysql常用提示符的含义 5、日常操作 --创建数据库 mysql> create database cnfo; Query OK, 1 row affected (0.00 sec) --切换数据库 mysql> use cnfo Database changed --查看当前数据库 mysql> select database(); +------------+ | database() | +------------+ | cnfo | +------------+ 1 row in set (0.00 sec) --启动mysql时连接到指定数据库 [root@linux1 ~]# mysql -u root -p cnfo Enter password: mysql> select database(); +------------+ | database() | +------------+ | cnfo | +------------+ 1 row in set (0.01 sec) --在当前库创建表 mysql> create table tb_tmp(name varchar(20), -> sex char(1),birth date); Query OK, 0 rows affected (0.09 sec) --显示当前库所有的表 mysql> show tables; +----------------+ | Tables_in_cnfo | +----------------+ | tb_tmp | +----------------+ 1 row in set (0.00 sec) --查看表的定义信息 mysql> desc tb_tmp -> ; +-------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+-------+ | name | varchar(20) | YES | | NULL | | | sex | char(1) | YES | | NULL | | | birth | date | YES | | NULL | | +-------+-------------+------+-----+---------+-------+ 3 rows in set (0.02 sec) -- Author : Leshami -- Blog : http://blog.csdn.net/leshami --为表插入记录 mysql> insert into tb_tmp values('Jcack','F','20140428'); Query OK, 1 row affected (0.08 sec) mysql> insert into tb_tmp values('John','M','20130428'); Query OK, 1 row affected (0.02 sec) --查看表上的记录 mysql> select * from tb_tmp; +-------+------+------------+ | name | sex | birth | +-------+------+------------+ | Jcack | F | 2014-04-28 | | John | M | 2013-04-28 | +-------+------+------------+ 2 rows in set (0.00 sec) --更新表上的记录 mysql> update tb_tmp set name='Jack' where name='Jcack'; Query OK, 1 row affected (0.01 sec) Rows matched: 1 Changed: 1 Warnings: 0 --过滤查询 mysql> select * from tb_tmp where sex='F'; +------+------+------------+ | name | sex | birth | +------+------+------------+ | Jack | F | 2014-04-28 | +------+------+------------+ 1 row in set (0.00 sec) |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com