半天搞定MySQL(全)七(终章)(MySQL数据库教程)

本文详细介绍MySQL数据库的导出与导入操作,包括不同格式的数据导出、SQL格式导出及数据库整体备份,同时涵盖自定义函数创建及各种运算符的使用,是MySQL初学者和进阶者的实用指南。

半天搞定MySQL(全)

半天搞定MySQL(全)一
半天搞定MySQL(全)二
半天搞定MySQL(全)三
半天搞定MySQL(全)四
半天搞定MySQL(全)五
半天搞定MySQL(全)六
博主用的是8.0版本的MySQL,储存引擎是InnoDB,关于InnoDB这里不详细解释,需要的话推荐了解这篇博文(或者自行百度)https://www.jianshu.com/p/519fd7747137

  • 目录
  • 导出数据和导入数据
  • 函数
  • 运算符

13. 导出数据和导入数据
导出数据
导出表数据
(相当于在指定目录下创建新文件,然后存入数据)
重要的事情说三遍:
建议!!!不要导出格式为txt,最好为sql格式,不然导入的时候可能会因为乱码导致导入失败!

建议!!!不要导出格式为txt,最好为sql格式,不然导入的时候可能会因为乱码导致导入失败!

建议!!!不要导出格式为txt,最好为sql格式,不然导入的时候可能会因为乱码导致导入失败!

 mysql> select * from citys.city_play into outfile 'C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/play.txt';
Query OK, 5 rows affected (0.02 sec)

导出数据表并指定输出格式

mysql> select * from citys.city_play into outfile 'C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/cp.txt'
    -> fields terminated by ',' enclosed by'|'
    -> lines terminated by'\r\n';
Query OK, 5 rows affected (0.01 sec)

结果
|海南|,|潜水|,|15000|,|1|,|95|,|1|
|夏威夷|,|水|,\N,|2|,|88|,|2|
|香港|,|潜水|,\N,|10|,|95|,|10|
|Janpan|,|woman|,\N,|11|,|90|,|11|
|浅川|,|香樟树|,|10000|,|15|,|82|,|25|

导出sql格式的表格

C:\Users\12160>mysqldump -u root -p citys city_play > C:\ProgramData\MySQL\play.sql
Enter password: ********

导出数据库数据
(注意 ,是在CMD中导出,不是sql服务器中,不然会报错:
ERROR:
Unknown command ‘\P’.

C:\Users\12160> mysqldump -u root -p citys > C:\ProgramData\MySQL\lmapp.sql
Enter password: ********

备份所有数据库
C:\Users\12160>mysqldump -u root -p --all-databases > C:\ProgramData\MySQL\alldb.sql
Enter password: ********

导入数据
使用的是cmd输入命令行完成导入,不然可能会报错。
语法格式为:

C:\Users\12160>mysql -uroot -p 数据库 <文件

同时会帮你创建同名数据表
例:

C:\Users\12160>mysql -uroot -p class <C:\ProgramData\MySQL\play.sql
Enter password: ********

当然也可以用数据库控制台导入:
新创一个数据表,同时导入数据

mysql> source C:\ProgramData\MySQL\play.sql
Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.01 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.05 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 5 rows affected (0.00 sec)
Records: 5  Duplicates: 0  Warnings: 0

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected, 1 warning (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

mysql> show tables;
+-----------------+
| Tables_in_class |
+-----------------+
| city_play       |
| city_play1      |
| score           |
| student_login   |
| students        |
| teacher         |
| teacher_course  |
| teacher_login   |
+-----------------+
8 rows in set (0.00 sec)
mysql> select * from city_play;
+-----------+------------+-------+------------+-------------+---------+
| city_name | city_thing | cost  | journey_ID | thing_score | play_ID |
+-----------+------------+-------+------------+-------------+---------+
| 海南      | 潜水       | 15000 |          1 |          95 |       1 |
| 夏威夷    ||  NULL |          2 |          88 |       2 |
| 香港      | 潜水       |  NULL |         10 |          95 |      10 |
| Janpan    | woman      |  NULL |         11 |          90 |      11 |
| 浅川      | 香樟树     | 10000 |         15 |          82 |      25 |
+-----------+------------+-------+------------+-------------+---------+
5 rows in set (0.00 sec)

博主这里还有另一种导入数据的办法(百度到的),可惜博主没导入成功,百度了具体原因也没处理好(百度上的答案好像跟博主八字不合吧,哈哈),博主处理好了会更新的:

mysql>  load data infile'C:\ProgramData\MySQL\MySQL Server 8.0\Uploads\play.txt' into table city_play1;
ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
mysql>
14.函数和运算符

函数
在这里博主会介绍自定义函数的简单创建,同时,博主后续会单独开一片博文介绍MySQL的内置函数。

一个计算1+2+。。。+n+(n+1)的函数
其中函数名为addsum,插入一个参数(n int),返回值类型:int
PS:deterministic必须要有,确定性声明,没有的话会报错


mysql> create function addsum(n int) returns int
    -> deterministic
    -> begin
    -> declare i int default 0;
    -> declare a int default 0;
    -> myloop:loop
    -> set i=i+1;
    -> set a=a+i;
    -> if i>n then leave myloop;
    -> end if;
    -> end loop myloop;
    -> return a;
    -> end $$
Query OK, 0 rows affected (0.02 sec)

测试:

mysql> select addsum(10);

+------------+
| addsum(10) |
+------------+
|         66 |
+------------+
1 row in set (0.00 sec)

运算符
因为博主是C类语言比较熟,所以这里跟C类语言一样的运算符将不会被提及。

运算符作用
/ 或 div除以
% 或 mod取余
<>, !=不等于
between在两者之间
not between不在两值之间
in在集合中
not in不在集合中
<=>比较两个NULL值是否相等,两个操作码均为NULL时,其所得值为1;而当一个操作码为NULL时,其所得值为0
LIKE模糊匹配
REGEXP 或 RLIKE正则式匹配

between案例:

mysql> select * from city_spots where time_stay between 3 and 4;
+-----------+--------------------+------------+----------+----------+-----------+
| city_name | place_of_interest' | city_score | cost_rmb | time_way | time_stay |
+-----------+--------------------+------------+----------+----------+-----------+
| America   | 未知               |         82 |    20000 |      1.5 |         4 |
| Italy     | food               |         79 |    20000 |        1 |         4 |
| Janpan    | 未知               |         85 |    15000 |        1 |         3 |
| 北京      | 长城               |         93 |    15000 |        1 |         3 |
| 海南      | 沙滩               |         78 |     9000 |        1 |         4 |
| 西安      | 兵马俑             |         83 |     5500 |        1 |         3 |
| 香港      | 未知               |         76 |     8000 |        1 |         3 |
+-----------+--------------------+------------+----------+----------+-----------+
7 rows in set (0.00 sec)

regexp案例:

mysql> select * from city_spots where city_name regexp 'a$';
+-----------+--------------------+------------+----------+----------+-----------+
| city_name | place_of_interest' | city_score | cost_rmb | time_way | time_stay |
+-----------+--------------------+------------+----------+----------+-----------+
| America   | 未知               |         82 |    20000 |      1.5 |         4 |
+-----------+--------------------+------------+----------+----------+-----------+
1 row in set (0.00 sec)
运算符号作用
not 或 !逻辑非
or
and
xor异或
^位运算按位异或
位运算取反
l按位与

符号||案例
(等于or)

mysql> select * from city_spots where cost_rmb<10500 || city_score>88;$$
+-----------+--------------------+------------+----------+----------+-----------+
| city_name | place_of_interest' | city_score | cost_rmb | time_way | time_stay |
+-----------+--------------------+------------+----------+----------+-----------+
| 东北      ||         86 |    10000 |      1.5 |         5 |
| 北京      | 长城               |         93 |    15000 |        1 |         3 |
| 新疆      | 水果               |         90 |    12000 |      1.5 |         5 |
| 海南      | 沙滩               |         78 |     9000 |        1 |         4 |
| 西安      | 兵马俑             |         83 |     5500 |        1 |         3 |
| 香港      | 未知               |         76 |     8000 |        1 |         3 |
+-----------+--------------------+------------+----------+----------+-----------+
6 rows in set, 1 warning (0.00 sec)

按位异或案例:

mysql> select 7^9;
+-----+
| 7^9 |
+-----+
|  14 |
+-----+
1 row in set (0.01 sec)

完结!!!

半天搞定MySQL(全)一
半天搞定MySQL(全)二
半天搞定MySQL(全)三
半天搞定MySQL(全)四
半天搞定MySQL(全)五
半天搞定MySQL(全)六

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值