半天搞定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(全)六
本文详细介绍MySQL数据库的导出与导入操作,包括不同格式的数据导出、SQL格式导出及数据库整体备份,同时涵盖自定义函数创建及各种运算符的使用,是MySQL初学者和进阶者的实用指南。

被折叠的 条评论
为什么被折叠?



