标签:数据库 mysql 字段 表名 条件 where select
第一章:了解SQL(通常数据库称为数据库管理系统 DBMS)
- 数据库:以某种有组织的方式存储数据。
数据库:存储数据的容器; 表:数据库中信息的载体; 列和数据类型:列是指具体字段,类型是数据的类型(文档、数值型等); 行:一条数据记录; 主键:为每条数据记录赋予唯一地址,区分不同行;
第二章:MySql介绍
1、MySQL 是数据库管理系统软件DBMS的一种,采用客户-服务器的方式进行数据的处理,因此数据的处理来源于服务器层,客户机用于用户对服务器发布处理指令,客户机与服务器进行计算逻辑的传输和结果的查看。
常用的客户机:navicat、mysql自带等,客户机和服务器一般是分离的也可以在 一台机上上。
第三章:mysql的使用
1、数据库的基本操作;
1)数据库的连接:MySQL -u 数据库名 -p 密码;
2)展示数据库列表、表列表:show databases(tables);
3)使用数据库、表使用:use 库名/表名 (只有在使用库、表的情况的下才能show展示)
4)展示某张表的字段: show columns from 表名;
第四章:索引数据
1、检索 select 字段 from 表名 where 条件 limit 5(限制输出5行); limit 5 ,5 (从第5行开始,输出5行)
第五章:排序索引数据
1、单列排序 :select 字段 from 表名 order by 字段
2、多个列排序:select 字段 from 表名 order by 字段_1,字段_2 (首选按照字段_1排序,接着在字段1的的内部,按照字段_2进行排序)
3、降序排序 加入DESC,
第六章:过滤数据
1、条件过滤 : select 字段 from 表名 where 条件 (多个条件组合 and 、or、 )
1)单一或者多个条件过滤: select 字段 from 表名 where 条件1 and 条件2 and 条件3 ......( 条件1 or 条件2 or 条件3 .....)
2) 计算次序过滤: select 字段 from 表名 where (条件1 or 条件2) and 条件3 在条件1和2满足一项的情况下,同时满足条件3,必须加括号的原因是,SQL优先计算与操作,然后才会计算或操作;
3)in (not in )操作,select 字段 from 表名 where 字段 in (条件1 , 条件2,字段3,...) 其实in操作和or操作功能是一致的,就是字段只要满足其中一项就可以,只是in操作查询快速、方便、便于理解和操作,当然not in 就是不在字段集合中;
第7章:用正则表达式进行搜索
1、用正则表达式搜索
匹配一个字符:select * 字段 from 表名 where 字段 regexp ‘ 字段’ (字段、 .字段(点表示任何值))
匹配几个字符之一:select * 字段 from 表名 where 字段 regexp ‘字段1|字段2’ (|表示或操作,多个字段可以采用用方括号扩住)
区间范围:select 字段 from 表名 where 字段 regexp [起点-终点] (括号里面既可以是数字也可以是字母)
匹配特殊字符 : select 字段 from 表名 where 字段 regexp '\\特殊字符' (\\表示转义的意思,必须加上才可以搜索)
第8章:创建计算字段
1、字段拼接:select concat(字段1,字段2,字段3,...) from 表名
2、修改字段名、或者重新定义表名 用as
3、计算 where 字段=具体条件
第9章:使用数据处理函数
1、函数:select 函数(字段 ) from 表名 例如 concat() 加入函数对于字段进行一定的计算
2、日期和时间的处理:涉及对于日期的各种操作(获取过去某个时刻,获取当前时刻(年、月、周、日、时、分、秒)、修改日期格式等)
3、对于字段进行一定的数学运算:select cos(字段) from 表名 计算字段的余弦值 ,类似一直。
第10章:分组数据
1、分组 group by ,一般和聚合函数同时使用,分组后对于组内进行一定的运算;
2、分组过滤:对于分组聚合后,根据分组后的结果进行过滤:eg: select cust_id,count(*) from 表名 groupy by 字段 HAVING count(*)>=2;分组后对于组内按条件进行过滤;
说明:where 和having 的区别是where针对过滤行,而having过滤分组后的。
3、组合查询 : select 字段 from 表名 union select 字段 from 表名 将两个查询出来的表进行合并,其中 union进行了去重操作,而union all没有进行去重操作;
第11章:全文本搜索
对于列指定索引fulltext,然后使用两个函数match()和against()执行全文本搜索,其中match()指被搜索的列,against()指定的是索引表达式;
eg:select note_text from productnotes where match(note_text) against('rabbit') #搜索出字段note_text中含有关键字‘rabbit’的段落,最终输出含有该关键字的段落
eg: select note_text, match(note_text) against('rabbit') as rank from productnotes #搜索出含有关键字在每一段中的出现的次数,左边显示段落,右边显示出现的次数
标签:数据库,mysql,字段,表名,条件,where,select 来源: https://blog.csdn.net/zhangzhoubin666/article/details/114289439
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。