mysql客户端工具:mysql mysql administration mysql query browers describe table /show grants (1)检索数据:select A,B from table (distinct A ,limit a,b。table从0行开始,(C1-C2) as C) (2)排序检索数据:select A,B from table order by column C DESC/ASC,D DESC/ASC(先C,C一样才按D排序。DESC降序,ASC升序) (3)过滤数据(适用于已知值):where 子句。 = 、<>、!=、<、<=、> 、>=、between 、is null 。where子句与AND OR IN NOT组合(mysql中NOT 支持对IN BETWEEN EXISTS取反。IN取的合法值放在括号内,用逗号隔开 in (a,b) ) (4)用通配符进行过滤(适用于不确定值,用like):a. %通配符表示任何字符出现任意次数 b. _匹配单个字符 (虽然很常用,由于搜索速度慢,不能过度使用通配符,如果使用也最好不要放在搜索模式的开始处) (5)使用正则表达式进行搜索(更强大匹配,用REGEXP):a. regexp 'string' b.进行OR匹配 regexp 'string1 | string2' c.匹配几个字符之一,[123] ('[123] ton') ,[^123]匹配除这几个字符之外的字符 d.匹配范围:[0-9] e.匹配特殊字符,匹配特殊字符需要两个/ ,如//. /// 等 f.定位符(^文本开始,$文本结束):(^[0-9//.],匹配以0-9或.开头的字符串 。 (6)创建计算字段:a.拼接字段contact:contact(A,'(',B,')')等 b.使用别名A*B as C (7)使用数据处理函数:文本处理函数,日期和时间处理函数(日期时间数据格式。date(),time()),数值处理函数。 (8)汇总数据:聚集函数——AVG(),COUNT(),MAX(),MIN(),SUM() COUNT(*) /COUNT(column) 灵活使用聚集函数,返回需要的值。聚集函数与distinct一起使用,对所有的行执行计算,当指定distinct时,只包含不同的值。还可以组合聚集函数来得到想要的的搜索结果。as (9)分组数据(对结果进行分组):创建分组——group by(可以包含多列,出聚集函数语句外,select中的每个列都必须在group by中给出,where之后,order by之前。表达式不能用别名)。group by仅在按组计算聚集时使用 过滤分组(排除分组)——having(where过滤指定的是行,不是分组,having过滤分组,但having支持where的所有操作,或可以理解为where在分组前进行过滤,having在分组后进行过滤) 如下例:列出具有2个(含2个)以上、价格为10以上的产品的供应商。 分清楚行的概念和分组的概念 select vent_id,count(*) as num_prods from products where prod_price >=10 group by vent_id having count(*) >=2 select 字句顺序:select from where group by having order by limit (10)使用子查询:子查询经常用于多个关系表的查询,一般是在where中使用in语句来实现子查询,也可以使用= <>。也可以对计算字段(count等)使用子查询(select count(*)等) (11)联结表:分解数据位多个表能更有效地进行存储,更方便的处理,但是由于数据在多个表中,使用单条select语句进行检索时需要使用联结。联结条件放在where子句中 。一条select语句中可以联结多个表,但是联结的表越多,性能下降越厉害。子查询可以用联结查询来代替,可能会提高效率。 (13)创建高级联结(对表使用别名):自联结:自联结一般要比子查询快。自然联结、外部联结(需要没有关联行的那些行,内部联结就是普通的关联联结。没关联指的是查询数据为NULL,就得使用外部联结)也可以使用带聚集函数的联结 对某组或某类使用聚集函数时,需要使用group by。 (14)组合查询UNION :把多条查询结果作为一条组合查询返回,所以UNION每个查询需要包含相同的列,表达式或者聚集函数,order by放最后select之后。 (15)全文本(text格式)搜索:数据库常用引擎,MyISAM(支持全文本搜索)、InnoDB(不支持全文本搜索)。 使用全文本搜索:在创建表时使用fulltext建立索引,在create之外用engine=mylsam表明为mylsam引擎;进行全文搜索时在where中使用match()和against()函数。match()中指定被搜索(索引)的列,against中指定要使用的搜索表达式。输出结果的等级。 查询扩展:against('表达式’ ,with query expansion) 布尔文本搜索: (16)插入操作 :插入完整行 插入检索出的数据(不用values) 更行删除数据:先用select检验是否是需要处理的数据 (17)创建、更行、删除表。创建:auto_increment (需要设定为主键,primary key) default 1 null not null (18)数据类型:串:char(n)定长 varchar(n) 可变长 text 小宇64K 数值类型:int bllolen float double decimal(精度可变的浮点值) 日期和时间:date time datetime year 二进制数据类型:blob 其他:w3school uninon all mysql备份: 在shell下: mysqldump -h mysql_master -u wms -p wms weiyou_group > weiyou_group.sql 还原:一般用source命令 mysql中: source ./weiyou_group.sql |
|