mysql中source用法一瞥

1、source语法如下
Usage:
mysql>. <filename> | source <filename>
举例
mysql>. /usr/local/mysql/aa.sql
Query OK, 0 rows affected (0.01 sec)
2、直接使用source filename或者. filename,怎么去实现?
        首先查看mysql基目录和数据目录:
mysql> show variables like ‘basedir‘;
+---------------+------------------+
| Variable_name | Value            |
+---------------+------------------+
| basedir       | /usr/local/mysql |
+---------------+------------------+
1 row in set (0.01 sec)
mysql> show variables like ‘datadir‘;
+---------------+------------------+
| Variable_name | Value            |
+---------------+------------------+
| datadir       | /opt/mysql/data/ |
+---------------+------------------+
1 row in set (0.00 sec)
        把aa.sql文件分别放在该目录下:
mysql> . aa.sql
ERROR: 
Failed to open file ‘aa.sql‘, error: 2
        查看当前登陆位置:  
mysql> system pwd;
/home
mysql> 
        把aa.sql文件放在home目录下,再次执行source指令:
mysql> . aa.sql
Query OK, 0 rows affected (0.02 sec)

mysql> show tables;
+--------------------+
| Tables_in_iloveyou |
+--------------------+
| emp                |
+--------------------+
1 row in set (0.00 sec)
3、完整示例
[[email protected] opt]# mkdir rgf
[[email protected] opt]# cd rgf
[[email protected] rgf]# cp /home/aa.sql .
[[email protected] rgf]# pwd
/opt/rgf
[[email protected] rgf]# mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or g.
Your MySQL connection id is 250
Server version: 5.5.37-log Source distribution

Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type ‘help;‘ or ‘h‘ for help. Type ‘c‘ to clear the current input statement.

mysql> use rgf;
Database changed
mysql> source aa.sql;
Query OK, 0 rows affected (0.01 sec)
4、注意事项
        (a)使用source时,文件最后使用;分号和不适用分号语法都正确
mysql> source aa.sql;
Query OK, 0 rows affected (0.01 sec)

mysql> drop table emp;
Query OK, 0 rows affected (0.00 sec)

mysql> source aa.sql
Query OK, 0 rows affected (0.01 sec)
        (b)使用.时,语句结尾不能使用分号;
mysql> . aa.sql
Query OK, 0 rows affected (0.01 sec)

mysql> drop table emp;
Query OK, 0 rows affected (0.01 sec)

mysql> . aa.sql;
ERROR: 
Failed to open file ‘aa.sql;‘, error: 2
5、小结
source执行的当前目录即为启动mysql登陆时所处的位置。如果不想直接输入一大串目录执行sql文件,可以事先在指定位置创建好文件夹,在文件夹中创建脚本,并从文件夹位置登陆mysql。这也是一种处理问题的方法。另外还要注意source和.的语句结尾是否要带分号。有兴趣的伙伴可以试试。

时间: 2024-11-09 03:43:55

mysql中source用法一瞥的相关文章

MYSQL中LIMIT用法

MYSQL中LIMIT用法 SELECT * FROM tableName LIMIT [offset,] rows; 1.select * from table limit m,n(显示条数) 其中m是指记录开始的索引index(索引是从0开始的表示第一条记录 ) n是指从第m+1条开始,取n条. 结果是检索记录第m+1行至(m+n)行记录,共取出n条记录 ex: SELECT * FROM 表名 limit 6,5; 结果:检索记录第7行至11行记录,共取出5条记录. 2.n可以被设置为-1

sqlserver row_number 类似 mysql中 limit 用法

select * from ( select row_number() over(ORDER BY inspecdate desc,inspectime DESC,itemorder asc ) as num, contentid,quesioncontext,tempid,tempname,itemid,itemtext,belongteam,teamname,inspecdate, inspectime,contenttext,createperson,newaddtime,updateti

mysql中-e用法

实际应用中,不仅可以先登陆mysql再使用,还可以在链接的时候进行sql操作,此时需要加参数-e 例: >mysql -hlocalhost -P8080 -uroot -p123456 -e'set names utf8;use report;select * from table;'; 就是这样,-e中的语句需要用封号来分割.

Mysql 中explain用法

explain显示了MySQL如何使用索引来处理select语句以及连接表.可以帮助选择更好的索引和写出更优化的查询语句. 先解析一条sql语句,看出现什么内容 EXPLAINSELECTs.uid,s.username,s.name,f.email,f.mobile,f.phone,f.postalcode,f.addressFROM uchome_space ASs,uchome_spacefieldASfWHERE 1 AND s.groupid=0AND s.uid=f.uid 1. i

MYSQL 中 LIMIT 用法

mapper文件中的sql: -------------------------------------------------------------------------------------------- (在实体类中定义的属性) start:从第几条记录开始. size:读取几条记录. select id="findAllUsers" parameterType="Map" resultType="entity.IUser">

mysql 中 group_concat()用法

 基本语法:group_concat([DISTINCT] 要连接的字段 [Order BY  排序字段 ASC/DESC] [Separator '分隔符']) 初始数据:                  以name分组,将money打印在一行,默认','分隔:      select aa.`name`name , GROUP_CONCAT( money ) money from aa GROUP BY aa.`name` 以name分组,将money打印在一行,用':'分隔 select

mysql中like用法

like 的通配符有两种 %(百分号):代表零个.一个或者多个字符. _(下划线):代表一个数字或者字符. 1. name以"李"开头 where name like '李%' 2. name中包含"云","云"可以在任何位置 where name like '%云%' 3. 第二个和第三个字符是0的值 where salary like '_00%' 4. 条件匹配以2开头,而且长度至少为3的值: where salary like '2_%_

mysql中data_format用法

date_format(date,format)可以把日期转换为制定的格式: mysql> select date_format('2008-08-08 22:23:00', '%W %M %Y'); Friday August 2008 mysql> select date_format('2008-08-08 22:23:01', '%Y%m%d%H%i%s'); 20080808222301 具体可参考http://www.w3school.com.cn/sql/func_date_fo

Mysql中limit用法及简单按序查寻示例

limit 接收一个或两个参数. 可以实现前排前几行的数据或排后几行的数据,或者中间几行的数据 order by + 关键字  表示按关键字什么顺序排列,默认是正序,从小到大, order by + 关键字 desc 表示按倒序排列,从大到小顺序. 如:倒序排列取前几行数据: order by id desc limit 10 按照id的倒序排序 取出前10条 order by id desc limit 0,10 按照id的倒序排序 取出前10条 换句话说,Limit n 等价于 Limit