`
xdlliutao
  • 浏览: 37842 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

 Mysql入门-对表数据的增删改查

 
阅读更多
  

这一部分是最简单的,也是最麻烦的。简单是因为其实只包括增删该插四个部分。大体上看,增加数据、删除数据、修改数据、查询数据都不麻烦啊,我们日常都是常用的。这个谁不会呢?以前在培训机构学mysql的时候,我就知道,程序员的成长路程上的一个瓶颈就在于数据库。如何书写高维护性的sql语句,如何能保持高维护性的同时又保持执行的高效率,这是个难题。我最近在做一个比较棘手的项目,常常left join 5~6张表,扫表10几万,查询速度慢的惊人。10几万还仅仅是测试数据,等真正的项目上线,数据量可能会达到百万级别。因此低效率的mysql 语句,可能程序直接就崩溃了。兄弟连IT教育(www.lampbrother.net)
  因此关于数据这部分的增删改插是最难的,也是至关重要的,一定要学好。但我们今天仅仅书写最简单的增删该插,后面的博客将会持续深入的去整理相关方面的知识。
  增加数据:
  insert into 表名 (字段1, 字段2, 字段3, 字段n) values (值1,值2,值3,值4);
  这个比较简单。这是一条通用语句。可以值inset一条数据,也是insert多条数据。这个在《Mysql学习笔记(二)对表结构的增删改查》的测试sql里面有。可以参考一下,这里就不重复贴代码了。
  注意事项:
  向char 、varchar 、text 以及日期型的字段插入时,字段值要用单引号括起来。
  向自增型auto_increment字段插入数据时,建议插入NULL值,此时字段将向自增型字段插入下一个编号。其实我平时都直接不写。
  向默认值约束字段插入数据时,字段值可以使用default关键字,表示插入的是该字段的默认值。
  插入新纪录时,需要注意表之间的外键约束关系,原则上先给父表插入数据,然后给子表插入数据。
  删除数据:
  删除数据是比较危险的操作,平时在开发测试阶段,可能会用到,但是到了真正的项目上线阶段,是不会有delete权限的。
  语法: delete from 表名 where 条件;
  delete from classes where class_no = 53; (可以继续用《Mysql学习笔记(二)对表结构的增删改查》中的测试sql);
  强调一句,删除数据与修改数据,不加条件都是臭流氓。
  修改数据:
  修改数据也是很危险的操作,在项目上线的时候,只有某些表的某些字段允许更改。
  语法:update 表名 set 字段名=字段值 where 条件。
  update classes set class_name='roverliang' where class_no=52;
  强调一句,删除数据与修改数据,不加条件都是臭流氓。
  查询数据:
  基本上项目中有90%以上关于数据库的操作是查询操作。因此查询语句写的好不好,将直接体现出一个程序员的编程能力。
  反对那些人,一看到很长sql语句就摇头表示否定。他们从一些资料中得知,sql语句写的长会使执行效率下降、简直对长长的mysql语句是避而远之。将本来能一气呵成的mysql硬生生的分成了几个零散的片段。
  对于我们搞技术的人来说,凭感觉是不对的。一切要以事实为基础,sql执行快慢优劣不是凭感觉拍脑袋决定的。真正决定sql执行速度的还是mysql本身,所以遇到疑惑的,就放进mysql里跑一跑。那个快那个慢,就高下立见了。
  如果两者执行时间几乎相当,当然要毫不犹豫的选用一气呵成的sql。好维护啊!能够大大的减少代码量。
  有些朋友可能会反驳说,那么长一段sql,看着都烦人,怎么会好维护呢?这其实与个人习惯有关,对于长的sql语句,我个人平时是这么写的,不知道对不对,请大家给指点下。
  复制代码
  #长长的sql;
  select 字段1,字段2,字段3,字段n
  from 表一 as t1,表二 as t2 ,表三 as t3
  left join 表四 as t4 on t1.字段1 = t4.字段1
  left join 表五 as t5 on t1.字段2 = t5.字段2
  where t1.字段1=1 and t2.字段2=2 and t3.字段3 > 3
  group by t1. 字段1
  order by t1
  limit 1,5;
  复制代码
  总之,一切的原则是要逻辑清晰,排版美观,能对齐的一定要对齐。
  将代码当作白居易的诗歌来写,力求简练,但要兼顾可读性,让三岁小儿与七十岁老妪可懂。
  将代码当作平面设计作品来写, 等号之间、变量之间排版整齐。代码段与代码段之间错落有致,整齐划一。
  不要吝啬空格与换行符。将代码想象为数据流,让代码有流动的空间。
分享到:
评论

相关推荐

    mysql-primer:21分钟 MySQL 入门教程

    本教程为 MySQL 入门教程,通过讲解对表的增删改查的操作,简明扼要的讲解了 MySQL 关系数据库的基本知识。 适应人群 本教程为初级教程,旨在帮助初学者快速掌握关系型数据库的基本操作,也可作为数据库日常知识查询...

    传智播客Mysql 全集

    - DML用于对数据库中的数据进行增删改查操作,主要包括INSERT、UPDATE、DELETE和SELECT等语句。 - 插入数据示例:`INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);` - 更新数据...

    NavicatforMySQL8·0·20及其注册机

    编辑功能则支持对表中的数据进行增删改查操作;备份和同步功能帮助用户定期备份数据库,并能确保多台服务器的数据保持一致;而数据导入/导出功能则允许用户将数据从其他格式文件导入到MySQL,或者将MySQL数据库中的...

    Mysql数据库学习

    - **记录层面:** 包括增删改查等操作。 **1.4 MySQL表的行列说明** - **行:** 表中的每一行代表一条完整的记录。 - **列:** 每一列代表数据的一个属性,例如姓名、年龄等。 - **主键:** 一个表可以有一个或多...

    MYSQL的sql语法学习

    对表中记录的操作主要涉及增、删、改、查(CRUD)操作。增(Create)记录使用INSERT语句;删(Delete)记录使用DELETE语句;改(Update)记录使用UPDATE语句;查(Read)记录使用SELECT语句。信息查询是数据库操作中...

    MySQL数据库应用快速入门培训课程

    本课程是mysql的入门课程,linux 和 windows 下面两种方式对mysql 进行安装,通过sql语句创建数据库,创建数据表,对表进行相关操作,对数据的增删改查。单表查询以及多表查询,加深对mysql的了解并熟练对其的操作...

    [Visual.C#.2008从入门到精通].电子工业.pdf

    - 支持生成增、删、改、查等操作的存储过程脚本。 - 支持多选批量生成,方便进行大规模的数据处理。 - 支持在当前生成和导出脚本文件功能。 5. **自动生成数据库文档** - 可以根据选定的数据库和表,自动生成...

    数据库学习

    学习这些操作对数据库的增删改查有着重要的意义,有助于提高数据处理效率,保证数据的完整性和一致性。在实际应用中,需要结合具体的业务需求,灵活运用这些命令,以实现复杂的数据操作和逻辑处理。

    oracle笔记(韩顺平oracle视频教学整理)

    3. Oracle表的管理:涉及到数据类型、表的创建、删除以及数据的增删改查(CRUD)操作。 4. Oracle表查询:介绍了如何使用SQL语句对表进行查询操作,分为查询的两个部分,涵盖基本查询和复杂查询。 5. Java操作...

Global site tag (gtag.js) - Google Analytics