
My SQL
AhdaiMolly
这个作者很懒,什么都没留下…
展开
-
[My SQL] 分组数据
分组允许把数据分为多个逻辑组,以便对每个组进行聚集计算;分组是在SELECT语句的GROUP BY子句中建立的,GROUP BY在使用时有以下几个约定:如果在SELECT中使用表达式,则必须在GROUP BY子句中指定相同的表达式,不能使用别名;除了聚集计算子句以外,SELECT语句中每个列都必须在GROUP BY子句中给出;我们以products表为例,表内容如下:原创 2017-08-16 11:28:52 · 780 阅读 · 0 评论 -
[My SQL] 使用视图
视图是虚拟的表,是将原表经过特殊处理虚拟保存的一张表。使用视图可以简化复杂的SQL操作,使用视图时必须唯一命名。使用视图的一些命令语句:1.创建视图: CREATE VIEW2.查看创建视图语句:SHOW CREATE VIEM viemname3.删除视图:DROP VIEM viemname4.更新视图:CREATE OR REPLACE VIEW我们以cu原创 2017-09-07 11:46:29 · 1658 阅读 · 0 评论 -
[My SQL] 全文本搜索
全文本搜索不同于通配符和正则表达式搜索,它使用索引进行搜索,相比于前两者更高效,结果更加智能。之前已经了解过,对于最常见的两种引擎MyISAM和InnoDB来说,前者支持全文本搜索,而后者不支持。为了支持全文本搜索,必须定义被索引的列。一般在创建表时启用全文本搜索。我们假设要创建一个productnotes的表:在这张表的定义中,我们使用FULLTEXT(not原创 2017-08-24 10:42:12 · 1129 阅读 · 0 评论 -
[My SQL] 更新和删除数据
可以使用UPDATE来更新数据。我们使用employeelist表为例:更新单列数据:(更新team为NULL的行的team值为0)更新多列数据:(如果年龄小于25,将age值和team值改为NULL)使用DELETE来删除数据:删除行:删除表中所有行:删除所有行可以直接使用DELETE FROM employeelist;或者使用TRU原创 2017-08-23 17:05:37 · 1795 阅读 · 0 评论 -
[My SQL] 插入数据
在这里我们有一个新建的表如下:我们使用INSERT可以插入单行、多行和插入查询的结果。插入单行的两种方法:1.使用创建表时默认的顺序这里我们插入一行,需要严格按照创建表的顺序来定义每个列的值。使用这种方式,对表的每一个列都必须给出值,对于AUTO_INCREMENT的行,可以给出NULL值,该列将自动增量。这种方式对于DEFAULT的列无效。原创 2017-08-23 16:51:39 · 543 阅读 · 0 评论 -
[My SQL] 创建表和操纵表
一般创建表有两种方法:1.使用MySQL Query Browser等交互式工具;2.使用MySQL命令行语句;在创建表时,至少要包括表的名字和列的细节。以下是创建一个test_table的栗子:1.表名紧跟在CREATE TABLE关键字之后,在创建新表时,指定的表名在现在的database中应该是不存在的,否则将出错,如果需要覆盖一张表,应该先把原表原创 2017-08-23 13:22:13 · 2707 阅读 · 0 评论 -
[My SQL] SQL聚集函数
常用的SQL聚集函数有:COUNT()函数有两种使用方式。COUNT(*)对表中行的数目进行计数,包含空值;COUNT(列名)可以忽略空值;原创 2017-08-15 16:13:42 · 442 阅读 · 0 评论 -
[My SQL] 组合查询
MySQL允许执行多个查询(多条SELECT语句),并将结果作为单个数据集显示,这些组合查询通常称为并(union)或者符合查询(compound query)。我们使用UNION操作符来组合多天SELECT查询语句。以products为例:我们想要价格低于5的一个物品列表,也想得到厂商是1001和1002的物品列表,解决这个问题有三种方式:1.使用两条独立的查询:原创 2017-08-21 14:42:32 · 430 阅读 · 0 评论 -
[My SQL] 使用联结表
另一种可以达到子查询目的的方式是使用联结表。联结是一种机制,用来在一条SELECT语句中关联表,可以联结多个表返回一组输出。我们依然以orders和prderitems为例:orders:orderitems:我们想要查询orders中每个cust购买的东西,可以这么写:需要注意的是,如果列名有相同,一定要使用完全限定的列名,且应该保证所有联结都有W原创 2017-08-16 15:18:52 · 462 阅读 · 0 评论 -
[My SQL] 数据处理函数
常见的数据处理函数有以下几种:文本处理函数日期和时间处理函数数值处理函数原创 2017-08-09 11:00:44 · 430 阅读 · 0 评论 -
[My SQL] 创建计算字段
常见的创建计算字段方法有拼接和执行算术计算。假设表siteinfo内容如下:原创 2017-08-07 17:28:34 · 579 阅读 · 0 评论 -
[My SQL] 使用正则表达式进行搜索
MySQL中使用正则表达式可以进行更复杂的匹配,基本的模式为:SELECT SiteID FROM siteinfo WHERE SiteID REGEXP '正则匹配模式';以下是常见的MySQL中正则匹配模式:原创 2017-08-07 16:57:26 · 411 阅读 · 0 评论 -
[My SQL] 使用LIKE匹配数据
前面提到使用WHERE进行过滤只能过滤出完全匹配的数据,如果需要部分匹配那么需要使用通配符;和WHERE不同的是,LIKE匹配是区分大小写的;常用的通配符有%和_ ;在这里我们假设有一张表,名为siteinfo,内容如下:百分号(%)通配符:(和LIKE搭配,%表示任何字符出现任何字数,即匹配0次或多次任意字符;)SELECT SiteID,Band FROM sitein原创 2017-08-07 16:43:37 · 1216 阅读 · 0 评论 -
[My SQL] 使用WHERE过滤数据
WHERE关键字相当于excel的筛选,不同的是WHERE只能实现完全匹配,不能实现部分匹配,相同的是,WHERE不区分大小写。在同时使用ORDER BY和WHERE时,应该将ORDER BY位于WHERE之后。在这里我们假设有一张表,名为siteinfo,内容如下:常用的WHERE命令和举例如下:单一条件过滤(WHERE后面跟着一个对列的过滤条件;如果是字符串比较,需要加原创 2017-08-07 16:20:32 · 2250 阅读 · 0 评论 -
[My SQL] 使用SELECT检索数据
为了使用SELECT检索表,必须提供两个条件:想选择什么和从哪里选择。在这里我们假设有一张表,名为siteinfo,内容如下:常用的检索命令和举例如下:检索某一列(SELECT语句检索数据是无序的,因此可能每次检索的结果顺序不一致)SELECT SiteID FROM siteinfo;结果如下:(检索出siteinfo的SiteID列) 检索多列SELECT原创 2017-08-07 15:15:41 · 526 阅读 · 0 评论 -
[My SQL] 使用MySQL
【连接SQL】SHOW DATABASES; 显示当前可用database;USE XXXX(database名); 使用XXXX database;SHOW TABLES; 显示数据库中的表;SHOW COLUMNS FROM XXXX(表名); 显示某个表的列;等同于DESCRIBE XXXX(表名);【检索数据】SELECT A原创 2017-07-31 17:26:49 · 882 阅读 · 0 评论 -
[My SQL] 数据库基础和MySQL简介
数据库(database)是一个保存有组织的数据的容器(通常是一个文件或者一组文件);数据库软件(DBMS)是数据库软件(数据库管理系统),是创建和操纵数据库的系统;表(table)是一种结构化的文件,可用来存储某种特定类型的数据;存储在表中的数据是一种类型的数据或者一个清单;在相同数据库中不能两次使用相同的表名;模式(schema)关于数据库和表的布局及特性的信息;列原创 2017-07-31 14:25:38 · 1761 阅读 · 0 评论 -
[My SQL] 使用子查询
在关系型数据库中,关系表是把信息分解成多个表,一类数据一个表,各表通过某些常用的值互相关联。在一个表中通常有一个外键,包含了和他有关系的表的主键,定义了两个表之间的关系。这里我们使用两个表orders和orderitems为例,表格内容如下:orders:orderitems:可以看到这两张表有关联的是列order_item列。想要获得订购了TNT2的所有客原创 2017-08-16 14:54:44 · 634 阅读 · 0 评论 -
[My SQL] 使用存储过程
存储过程相当于函数,可以为以后的使用而保存一条或者多条MySQL语句的集合。存储过程可以有输入和输出。我们以products表为例:我们想要查询某个vend订购的商品的最大值、最小值和总价,这是一个统一的请求过程,可以用函数来表示,即存储过程。首先我们可以建立一个存储过程如下:这个存储过程,相当于一个计算对应vend购买商品最大值最小值和平均值的函数。首先,原创 2017-09-11 14:09:46 · 1240 阅读 · 0 评论