Mysql导入导出、管理表记录、匹配条件

1.数据导入与导出(主配置文件 /etc/my.cnf)
1.1 默认检索路径 show variables(查看所有变量)
1.1.1查看 show variables ike “%file%”(查看变量并过滤中间是file的)

1.1.2修改  	vim/etc/my.cnf
[mysqld]下插入
secure_file_priv="/myload"(跟路径)

mkdir /myload(创建文件夹)
chown mysql /myload (更改权限为mysql)
systemctl restart mysqld (重启服务)

1.2数据导入:把系统文件内容存储到数据库表里
1.命令格式

mysql>load data infile “目录名/文件名” 
into table 库名.表名
fields terminated by “分隔符”
lines terminated by “\n”;

2.注意事项
3.数据导入步骤(在登录mysql下前面输入System 再加系统命令)

1)建库
2)建表
3)拷贝文件到检索目录下(默认目录)
4)导入数据
5)查看表记录
4.例子

mysql<Create database db3;
mysql<Create table db3.user(
name char(50),password char(1),
uid int,gid int ,comment varchar(150),
homedir char(50), shell char(50));
mysql<System cp /etc/passwd    /myload
mysql<load data infile "/myload/passwd" (
into table db3.user  		
(把/myload/passwd导入到db3下的user)
fields terminated by ":" (分隔符为:)
lines terminated by "\n";(换行符为\n)
 mysql<alter table db3.user add id int primary key 				
auto_increment first;(添加一列名为id的到db3.user表中,设为主键,自增)

1.3数据导出:把表记录存储到系统文件里.

命令格式:
sql查询命令
格式1:
into outfile “目录名/文件名”

格式2:

into outfile “目录名/文件名”
fields terminated by “分隔符”

格式3:

into outfile “目录名/文件名”
fields terminated by “分隔符”
lines terminated by “\n”;

注意事项:
1)导出数据行数由SQL查询决定
2)导出的是表记录,不包括字段名
3)自动创建存储数据的文件
4)存储数据文件,具有唯一性

2 管理表记录

2.1插入表记录 insert into
插入1条表记录给所有字段赋值
insert into 库名.表名 values(值列表);
插入多条表记录给所有字段赋值
insert into 库名.表名 values (值列表),(值列表)…;
插入1条表记录给指定字段赋值
insert into 库名.表名 (字段表列表) values(值列表);
插入多条表记录给指定字段赋值
insert into 库名.表名(字段名列表) values(值列表),(值列表)…;
2.2 查询表记录 select
select 字段名列表 from 库名.表名 where 条件;(条件是控制行的,字段名是控制列的)
select * from 库名.表名(查看所有列)
2.3更新表记录
2.3.1 语法格式:
格式1,批量更新
-update 库名.表名
set 字段名=值,字段名=值,字段名=值,…;
格式2,条件匹配更新
-update 库名.表名
set 字段名=值,字段名=值,字段名=值,…
where 条件表达式;
2.4删除表记录
语法格式
格式1:条件匹配删除
delete from 库名.表名 where 条件表达式;
格式2:删除所有记录(不加条件删除中的所有行)
delete from 库名.表名;

3.匹配条件(使用于select update delete)
3.1基本匹配条件
1.数值比较
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
4.逻辑匹配 (多个条件)

逻辑与 and 多个条件必须都成立
逻辑或 or 多个条件成立即可
逻辑非 ! /not 取反

5.范围内匹配/去重显示

in (值列表) 在…里…
not in (值列表) 不在…里…
between 数字 and 数字 在…之间
distinct 字段名 去重显示

3.2 高级匹配条件

like模糊查询
用法
where 字段名 like ‘通配符’

  • _ 表示1个字符
  • % 表示0~n个字符
    正则表达式
    用法
  • where 字段名 regexp ‘正则表达式’
    -正则元字符 ^ $ . [] * |

在这里插入图片描述
3.3操作查询结果
1.聚集函数(对数据做统计的命令)
-MySQl内置数据统计函数

-avg(字段名) //统计字段平均值
-sum(字段名) //统计字段之和
-min(字段名) //统计字段最小值
-max(字段名) //统计字段最大值
-count(字段名) //统计字段值个数

2.查询结果排序
用法

-SQL查询 order by 字段名 [asc|desc];
-asc 升序排序
-desc 降序排序

3.查询结果分组

用法
-SQL 查询 group by 字段名;

4.查询结果过滤

having用法
-SQL查询 having 条件表达式;

5.限制查询结果显示行数

-用法
-SQL查询 limit 数字; //显示查询结果前多少条记录
-SQL 查询 limit 数字1,数字2; //显示指定范围内的查询记录
-数字1 起始行(0表示第1行)
-数字2 总行数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值