1、数据导入
1、把文件系统内容导入到数据的表中。
2、命令格式(导入语句)
load data infile “文件名”
into table 表名
fields terminated by “分隔符”
lines terminated by "\n"
3、将scoretable.csv 文件导入到db3库下的socre 表中。
1、先把scoretable.csv 文件拷贝到数据库的默认搜索路径中。
show variables like "secure_file_priv"; 默认搜索路径查询
2、执行复制命令
sudo cp 源文件路径 数据库默认搜索路径
3、创建表
注意格式。
4、执行导入语句
见1
注意:如果导入失败考虑是否为wen:权限问题,解决方法
1、sudo -i
2、cd / var /lib /mysql - files
3、修改 scoretab.csv 文件的权限
chmod 666 scoretable.csv
5、权限 -rwx:所有者权限 r--所属组权限 r-- 其他组权限 root(所有者) root(所属组) r 读 w写 x:执行
mysql --> scoretable.csv 权限
修改文件权限 chmod +rw 文件名
r:4 w:2 x:1 chmod 666 文件名
6、excel 文件 专为csv文件,后缀可以实现。 用记事本另存为,修改编码格式。
2、数据导出
1、将数据库中表记录保存到系统文件里
2、语法格式
select ..... from 库名.表名
into outfile "文件名"
fields terminated by "分隔符"
lines terminated by “\n”
3、注意 导出的内容完全有SQL查询语句决定
路径必须制定为数据库的搜索路径
3、表的复制
1、语法
create table 表名 select .... from 被复制的表名;
2、只复制表结构
create table 表名 select * from 表名 where false;
4、嵌套查询(子查询)
1、定义 把内层的查询结果作为外层的查询条件
2、select .... from 表名 where 字段名 运算符(select 。。。。)
5、多表查询
1、两种方式
1、select 字段名列表 from 表1,表2;笛卡尔迪(表1,1个多二表所有)
2、select 字段名liebiao from where 条件;
select sheng.s_name,city.c_name from sheng,city where sheng.s_id = city.cfather_id;
6、连接查询
1、内连接(等同于多表查询)
1、语法格式 select ...... from 表 1 inner join 表2 on 条件;
2、eg: select sheng.s_name,city,c_name from sheng inner join city on sheng.s_id = city.cfather_id;
2、外连接
1、左连接(左边表格为匹配,左表都显示,右边匹配到显示,匹配不到NULL)
1、以左表为主显示查询结果
2、select .... from 表1 left join 表2 on 条件。
3、select t1.name,t2.name from t1 left join t2 on t1.id = t2.id;
2、右连接
1、以右表为主查询
2、select...from 表1 right ioin 表2 on 条件。