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 总行数