MYSQL教程之怎样从 MySQL 数据库表中检索数据
MySQL的支持者们却认为,MySQL所保留的功能都是精华,并且是你部署、MySQL学习教程配置和维护这个数据库所必不可少的一些功能。<pstyle="TEXT-INDENT:2em">1、从数据库表中检索信息<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">实践上,后面我们已用到了SELECT语句,它用来从数据库表中检索信息。<pstyle="TEXT-INDENT:2em">select语句格局通常是:<pstyle="TEXT-INDENT:2em">SELECT检索关头词FROM被检索的表WHERE检索前提(可选)<pstyle="TEXT-INDENT:2em">之前所利用的“*”暗示选择一切的列。<pstyle="TEXT-INDENT:2em">上面持续利用我们在上篇文章中创立的表mytable。<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">2、查询一切数据:<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">mysql>select*frommytable;<pstyle="TEXT-INDENT:2em">+----------+------+------------+----------+<pstyle="TEXT-INDENT:2em">|name|sex|birth|birthaddr|<pstyle="TEXT-INDENT:2em">+----------+------+------------+--------+<pstyle="TEXT-INDENT:2em">|abccs|f|1977-07-07|china|<pstyle="TEXT-INDENT:2em">|mary|f|1978-12-12|usa|<pstyle="TEXT-INDENT:2em">|tom|m|1970-09-02|usa|<pstyle="TEXT-INDENT:2em">+----------+------+------------+----------+<pstyle="TEXT-INDENT:2em">3rowinset(0.00sec)<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">3、修改毛病纪录:<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">假设tom的出身日期有毛病,应当是1973-09-02,则能够用update语句来修改:mysql>updatemytablesetbirth="1973-09-02"wherename="tom";<pstyle="TEXT-INDENT:2em">再用2中的语句看看是不是已改正过去。<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">4、选择特定行<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">下面修正了tom的出身日期,我们能够选择tom这一行来看看是不是已有了变更:<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">mysql>select*frommytablewherename="tom";<pstyle="TEXT-INDENT:2em">+--------+------+------------+------------+<pstyle="TEXT-INDENT:2em">|name|sex|birth|birthaddr|<pstyle="TEXT-INDENT:2em">+--------+------+------------+------------+<pstyle="TEXT-INDENT:2em">|tom|m|1973-09-02|usa|<pstyle="TEXT-INDENT:2em">+--------+------+------------+------------+<pstyle="TEXT-INDENT:2em">1rowinset(0.06sec)<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">下面WHERE的参数指定了检索前提。我们还能够用组合前提来举行查询:<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">mysql>SELECT*FROMmytableWHEREsex="f"ANDbirthaddr="china";<pstyle="TEXT-INDENT:2em">+--------+------+------------+------------+<pstyle="TEXT-INDENT:2em">|name|sex|birth|birthaddr|<pstyle="TEXT-INDENT:2em">+--------+------+------------+------------+<pstyle="TEXT-INDENT:2em">|abccs|f|1977-07-07|china|<pstyle="TEXT-INDENT:2em">+--------+------+------------+------------+<pstyle="TEXT-INDENT:2em">1rowinset(0.06sec)<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">5、选择特定列<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">假设你想检察表中的一切人的姓名,则能够如许操纵:<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">mysql>SELECTnameFROMmytable;<pstyle="TEXT-INDENT:2em">+----------+<pstyle="TEXT-INDENT:2em">|name|<pstyle="TEXT-INDENT:2em">+----------+<pstyle="TEXT-INDENT:2em">|abccs|<pstyle="TEXT-INDENT:2em">|mary|<pstyle="TEXT-INDENT:2em">|tom|<pstyle="TEXT-INDENT:2em">+----------+<pstyle="TEXT-INDENT:2em">3rowinset(0.00sec)<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">假如想列出姓名和性别两列,则能够用逗号将关头词name和birth分隔:myaql>selectname,birthfrommytable;<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">6、对行举行排序<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">我们能够对表中的纪录按诞辰巨细举行排序:<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">mysql>SELECTname,birthFROMmytableORDERBYbirth;<pstyle="TEXT-INDENT:2em">+----------+------------+<pstyle="TEXT-INDENT:2em">|name|birth|<pstyle="TEXT-INDENT:2em">+----------+------------+<pstyle="TEXT-INDENT:2em">|tom|1973-09-02|<pstyle="TEXT-INDENT:2em">|abccs|1977-07-07|<pstyle="TEXT-INDENT:2em">|mary|1978-12-12|<pstyle="TEXT-INDENT:2em">+----------+------------+<pstyle="TEXT-INDENT:2em">3rowinset(0.00sec)<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">我们能够用DESC来举行逆序排序:<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">mysql>SELECTname,birthFROMmytableORDERBYbirthDESC;<pstyle="TEXT-INDENT:2em">+----------+------------+<pstyle="TEXT-INDENT:2em">|name|birth|<pstyle="TEXT-INDENT:2em">+----------+------------+<pstyle="TEXT-INDENT:2em">|mary|1978-12-12|<pstyle="TEXT-INDENT:2em">|abccs|1977-07-07|<pstyle="TEXT-INDENT:2em">|tom|1973-09-02|<pstyle="TEXT-INDENT:2em">+----------+------------+<pstyle="TEXT-INDENT:2em">3rowinset(0.00sec)<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">7、行计数<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">数据库常常要统计一些数据,如表中员工的数量,我们就要用到行计数函数COUNT()。COUNT()函数用于对非NULL了局的纪录举行计数:<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">mysql>SELECTCOUNT(*)FROMmytable;<pstyle="TEXT-INDENT:2em">+----------+<pstyle="TEXT-INDENT:2em">|COUNT(*)|<pstyle="TEXT-INDENT:2em">+----------+<pstyle="TEXT-INDENT:2em">|3|<pstyle="TEXT-INDENT:2em">+----------+<pstyle="TEXT-INDENT:2em">1rowinset(0.06sec)<pstyle="TEXT-INDENT:2em">员工中男女数目:<pstyle="TEXT-INDENT:2em">mysql>SELECTsex,COUNT(*)FROMmytableGROUPBYsex;<pstyle="TEXT-INDENT:2em">+------+----------+<pstyle="TEXT-INDENT:2em">|sex|COUNT(*)|<pstyle="TEXT-INDENT:2em">+------+----------+<pstyle="TEXT-INDENT:2em">|f|2|<pstyle="TEXT-INDENT:2em">|m|1|<pstyle="TEXT-INDENT:2em">+------+----------+<pstyle="TEXT-INDENT:2em">2rowinset(0.00sec)<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">注重我们利用了GROUPBY对SEX举行了分组。MySQL的低成本来自于其简单性吗?它的普及性是由于其低成本吗?其实,在MySQL的最“好”与最“不好”的功能之间没有明显的分界线,但它们组合在一起就形成了一副让我们欣赏的作品。 财务软件要用SQL也只是后台的数据库而已,软件都是成品的,当然多学东西肯定是有好处的.. 多走走一此相关论坛,多看一些实例开发,多交流0经验,没什么的,我也是刚学没多久!加油 微软对CLR作了大篇幅的宣传,这是因为数据库产品终于融入.net体系中。最开始我们也是狂喜,感觉对象数据库的一些概念可以实现了。 习惯敲命令行的朋友可能会爽一些。但是功能有限。适合机器跑不动SQLServerManagementStudio的朋友使用。 在select语句中可以使用groupby子句将行划分成较小的组,然后,使用聚组函数返回每一个组的汇总信息,另外,可以使用having子句限制返回的结果集。 语句级快照和事务级快照终于为SQLServer的并发性能带来了突破。个人感觉语句级快照大家应该应用。事务级快照,如果是高并发系统还要慎用。如果一个用户总是被提示修改不成功要求重试时,会杀人的! 语句级快照和事务级快照终于为SQLServer的并发性能带来了突破。个人感觉语句级快照大家应该应用。事务级快照,如果是高并发系统还要慎用。如果一个用户总是被提示修改不成功要求重试时,会杀人的! 相信各位对数据库和怎么样学习数据库都有一些经验和看法,也会有人走了一些弯路总结出自己的经验来,希望大家能把各自的看法和经验拿出来分享,给别人一份帮助,给自己一份快乐
页:
[1]