设为首页 收藏本站
查看: 687|回复: 0

[经验分享] MySQL数据库(三)

[复制链接]

尚未签到

发表于 2018-10-6 14:00:33 | 显示全部楼层 |阅读模式
数据导入与导出  (1)数据导入
  mysql>load data infile "目录/文件名" into table 表名    /默认目录为 /var/lib/mysql-files,可修改配置文件改变默认目录,如不修改配置文件,默认且一定要在这个目录下
  >field terminated by "字段间隔符"            /导入的文本数据的字段间隔符号
  >lines terminated by "\n"               /导入的文本数据的行结束符号
  mysql> show variables like "secure_file_priv"; 查看默认目录
  /etc/my.cnf
  secure_file_priv="/myfile"
  把/etc/passwd 数据导入到表user中
  a.创建表user(表中字段要与导入的数据中字段相同)
  create table user(
  >name char(15),
  >passwd char(8),
  >uid int,
  >gid int,
  >comment varchar(50),
  >homedir varchar(30),
  >shell varchar(30),
  >index(name),
  >unique index(uid)
  >);
  b.把/etc/passwd 数据放入默认目录/var/lib/mysql-files
  cp /etc/passwd /var/lib/mysql-files/
  c.数据导入
  load data infile "/var/lib/mysql-files/passwd" into table user \
  >fields terminated by ":" lines terminated by "\n";  /此表中字段间隔符为":",行结束符号为"\n".
  d.验证
  select * from user;
  (2)数据导出   把表记录通过sql查询存储到系统文件中
  >sql查询   into outfile "目录/文件名" fields terminated by "字段间隔符" lines terminated by "行结束符号"
  /目录默认/var/lib/mysql-files 如不修改配置文件,默认且一定要在这个目录下
  #把uid小于100的数据导出到user1.txt文件中
  >select * from user where uid < 100 into outfile "/var/lib/mysql-files/user.txt" \
  >fields terminated by "*"\     /字段间隔符为 *
  >lines terminated by "#"       /行间隔符为 #
  #################################################################################
  管理表记录
  增
  insert into 库名.表名 values(值列表),(值列表);            /给所有字段赋值
  insert into 库名.表名(字段名列表) values(值列表),(值列表);  /只给个别字段赋值
  查
  select * from 库名.表名;        /查询表所有字段数据
  select 字段名列表 from 库名.表名     /查询个别字段数据
  #select name ,uid from user;
  select * from 库名.表名 where 条件;
  #select * from user where name="root";  /查询name字段为root的所有数据
  条件匹配的表示方式:
  数值比较   >  >=   <   sql查询 order by 字段名 /默认升序   desc 降序
  #select uid from user order by uid;  /查询uid字段数据并升序排序
  #select uid from user order by uid desc;  /查询uid字段数据并降序排序
  #select * from user order by uid;  /查询表中所有数据并以uid升序排序
  查询分组
  >sql查询 group by 字段名    /把相同的数据放在group组里,相当于不显示重复值
  #select shell from user group by shell;
  限制查询显示行数
  (a)limit 数字n; 显示前n行
  #select * from user limit 3;
  #select * from user where uid between 10 and 50 limit 3;
  (b)limit 数字m,数字n;  显示m行后的n行
  #select * from user limit 1,2; 显示第1行后的两行内容 相当于显示2-3行内容
  #select * from user limit 1,1; 显示第二行内容
  嵌套查询 把内层的查询结果作为外层的查询条件
  select * from user where 条件 (select * from 表名 where 条件);
  #select * from user where name in (select name from user where uid (select avg(uid) from user);
  复制表
  作用:快速建表 、 备份表
  create table 表名 sql查询
  #create table user1 select name,uid,homedir from user limit 3; /把sql查询的结果作为新表的结构及数据,
  #create table user2 select name,uid,shell from user limit 4;
  多表查询
  select 字段名列表 from 表名列表;笛卡尔集
  #select * from user1,user2;   /显示为 3*4 12 行,user1表的每一行对应user2表的每一行
  #select * from user1,user2 where user1.name=user2.name and user1.uid=user2.uid; /显示 user1 与user2 name,uid字段相等的行
  连接查询
  (a)左连接查询  以左边表(A)为主查询某个条件下 表A,表B的数据
  select * from 表A left join 表B on 条件;
  #select * from user1 left join user2 on user1.uid=user2.uid;
  (b)右连接查询 以左边表(B)为主查询某个条件下 表A,表B的数据
  #select * from user1 right join user2 on user1.uid=user2.uid;
  改
  修改某字段内的记录
  (a)update 表名 set 字段名="";
  #update user1 set uid=3;
  (b)update 表面 set 字段名="" where 条件;
  #update user2 set uid=2 where name="root";
  删
  删除记录
  (a)delete from 表名;  /删除表中记录
  #delete from user1;
  (b)delete from 表名 where 条件; /删除某个条件下的一行记录
  #delete from user1 where name="root";


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-613992-1-1.html 上篇帖子: Ubuntu的web服务器搭建系列之MySQL(JDK+Tomcat+MySQL+Nginx+Red 下篇帖子: mysql api---从一个小例子开始mysql编程入门(3)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表