导入导出操作:


        将文本数据转入到数据库


        文本数据的格式为【字段之间的数据采用tab键分割,一行对应一行数据】

3 张三 1989-2-3 
4 李四 2020-5-12

        


           创建对应的表,表结构应该对应文本文件中的数据



create table tb_users(
 id int primary key, 
name varchar(20) not null, 
birth date 
) engine=innodb default charset utf8;



导入语句,由于是在sql中直接进行读取硬盘文件,会涉及安全性配置问题  

load data infile "d:/work.txt" into table tb_users(id,name,birth);


               

备份数据库

mysqldump --pt test>test.sql



恢复数据库,只创建一个空数据库 test 即可

mysql -uroot -p123456 test<test.sql



MySQL 运算符:



        MySQL运算符主要包括 3 大类:比较运算符、算术运算符、逻辑运算符




算术运算符:



        加+ 、减 - 、乘 * 、除 / 、求余 %



mysql> select 1+2; 
+-----+ 
| 1+2 | 
+-----+ 
|   3 | 
+-----+
1 row in set (0.00 sec)

mysql> select 1/2;
+--------+ 
|    1/2 | 
+--------+ 
| 0.5000 | 
+--------+
1 row in set (0.00 sec)

mysql> select 5%2; 
+------+
|  5%2 |
+------+ 
|    1 | 
+------+ 
1 row in set (0.00 sec)



特殊操作 :

mysql> select '5a'+2; 
+--------+ 
| '5a'+2 |
+--------+
|      7 | 
+--------+ 
1 row in set, 1 warning (0.00 sec)

mysql> select 'a5'+2;
+--------+ 
| 'a5'+2 |
+--------+ 
|      2 |
+--------+
1 row in set, 1 warning (0.00 sec)

 mysql> select 123.45%2.52;
 +-------------+
 | 123.45%2.52 |
 +-------------+
 |        2.49 |
 +-------------+
 1 row in set (0.00 sec) 

mysql> select -123.45%2.52;
 +--------------+
 | -123.45%2.52 |
 +--------------+
 |        -2.49 |
 +--------------+
 1 row in set (0.00 sec)


比较运算符:


运算符

语法

说明

=

a=b

如果参与计算的两个操作数相等则为 true ,否则 false

!= 或者 <>

a!=b 或者 a<>b

如果两个操作数不相等则 true[1] ,否则 false[0]

<

a<b

如果 a 小于 b 则返回 true ,否则 false

>

a>b

如果 a 大于 b 则 true

<=

a<=b

小于等于

>=

a>=b

大于等于

in 或者 not in:



        in用于判断某个列的取值是否为指定的值,使用 in 运算符时指定的值是离散的数据,不是连续值



                ①select * from tb_student where age in(18,28,15) 含义是 age=18 or age=28 or age=15



                ②select * from tb_student where age not in(18,28,15)含义是 age!=18 and age!=28 and



age!=15



                ③ -- 查询张三以及李四同学的成绩

                select score from tb_student where name='张三' or name=' 李四 '



                select score from tb_stuent where name in('张三',' 李四 ') -- in 中的数据个数没有限制



between/and



        用于判断数据是否在指定的范围内,连续值



                查询成绩及格并且不属于优秀的所有学生信息



                

-- 写法1:使用条件拼接
select * from tb_student where score>=60 and score<=85;

-- 写法2 
select * from tb_student where score between 60 and 85; 

--如果需要的是不在指定范围内部
 select * from tb_student where score not between 50 and 85;



like/not like



        主要针对字符串类型数据进行模糊查询,通配符_ 和 %



        查询不姓张的同学:

select * from tb_student where name not like '张%'



        regexp是在 mysql 中针对字符串类型进行正则式进行判断, not regexp



        <=> 如果两数相同为 true ,即使是 null



        is null/is not null



        判断是否为空,为空则返回true




逻辑运算符:



运算符

语法

说明

&& 或者



and

a and b 或者



a&&b

逻辑与,如果参与计算的两个操作数为 true ,否则 false

|| 或者 or

a or b 或者 a||b

逻辑或,如果参与计算的双反,只要一方为 false ,则返回



false

not 或者 !

not a 或者 !a

逻辑非,如果操作数为 false 则结果为 true