查询语句:
1基础查询
Slecteid,number,sex form Table Where id>100 ORDER by id desc//查询某些字段,大于100的 ,结果按照id的降序排列。
2 单表查询
Select *fromtable//查询所有字段
Selectnum,name,sex From Table//查询指定字段
Select *fromTable limit 10//查询前10条数据。在SQLSERVER中是select top 10 * form
Select *fromTable Where id IN(2004,2005)//查询id 在2004,2005的集合中的 数据NOT IN
Select *fromTable Where id BETWEEN 15 AND 25;//NOT BETWEEN //在一个范围内
Select *fromTable Where name LIKE ‘Aric’;// LIKE 类似java中 equals NOT LIKE
Select *fromTable Where address LIKE ‘北京%’;//北京后面可以任意字符
AND 条件查询
Select *fromTable Where id==1 And name=”dd” And age<100;
Select *fromTable Where num IN(1,2,3,4) AND age Between 15 and 25 And address Like “%北京市%”
OR 多条件查询
Select DISTINCTid From employee//去掉重复的
ORDER BYDESC/ASC DESC降序 ASC 升序 默认是升序排列
Select *fromTable ORDER by id desc,age asc//
Select *fromTable LIMIT 1,2//从第二条开始 显示两条
使用集合函数
SelectCount(*) From employee;//查询一共有多少条
Selectdepartment,Count(*) From Student GROUP BY department .//查询每个院系有多少人
Selectnum,SUM(score) FROM grade WHRER num=1001;//号码对应1001的分数总和
SelectAVG(score) FROM employee/求表中分数的平均值
MAX(socre)//最大值
ANY关键字表示满足其中任一条件
Select*FROM table1 where socre>=ANY(SELECT score from schloarship)//满足最小条件的
ALL关键字,满足所有条件
Select*FROM table1 where socre>=ALL(SELECT score from schloarship)
插入数据:
INSERTINTO 表名 Values(值1,值2);
INSERTINTO
MYSQL中存储引擎的不同:MyISAM InnoDB MEMORY
1 MyISAM表无法处理事务,应用在选择密集和插入密集的表中。 运行并发插入选择
2 InnoDB支持事务,更新密集 允许外键 自动增长 事务 自动灾难修复
3MEMORY 速度快,采用的逻辑存储介质是系统内存,因此当奔溃时候 数据丢失。只能存长度固定的数据。使用场景:目标数据小,但频繁被访问。数据是临时的,放在内存中。如果数据丢失不会对服务产生实际影响
MYSQL索引
:索引像目录,节约查询时间。
:分为聚簇索引(单行)和非聚簇索引(多行)
普通索引:这是最基本的索引,它没有任何限制,比如上文中为title字段创建的索引就是一个普通索引,MyIASM中默认的BTREE类型的索引,也是我们大多数情况下用到的索引。
唯一索引:与普通索引类似,不同的就是:索引列的值必须唯一,但允许有空值(注意和主键不同)
组合索引:,则列值的组合必须唯一,创建方法和普通索引类似。
何时使用聚集索引或非聚集索引?
返回某范围内的数据一项。比如您的某个表有一个时间列,恰好您把聚合索引建立在了该列,这时您查询2004年1月1日至2004年10月1日之间的全部数据时,这个速度就将是很快的,因为您的这本字典正文是按日期进行排序的,聚类索引只需要找到要检索的所有数据中的开头和结尾数据即可;而不像非聚集索引,必须先查到目录中查到每一项数据对应的页码,然后再根据页码查到具体内容。
索引的数据结构:B-TREE B+TREE http://www.uml.org.cn/sjjm/201107145.asp#nav-2-1
B-TREE 数据存在节点中,
B+TREE 数据只存在叶子节点中,