mysql数据库 sql语句学习笔记02 插入更新和查询

来源:互联网 发布:mmd动作数据大全下载 编辑:程序博客网 时间:2024/06/07 05:05




INSERT INTO tablename (field1,field2,...) VALUES(value1,value2...) ;插入数据  数据表内容按顺序插入  没有写的字段 留空的 将自动设置为默认值

前面的firld可留空 留空将视为严格按数据表内列的顺序插入






INSERT INTO tablename (field1,field2,...) VALUES(value1,value2...),(value1,value2...),(value1,value2...) ,(value1,value2...) ;
  可一次插入多段数据


UPDATE tablename SET field1=value1,field2=value2,...  WHERE CONDITION
  更新数据   可以进行 多表同时更新
例  : update tablename1 s , tablename2 n set s.filed1 =s.filed1*n.filed1 ,n.filed2 = s.filed3 where s.filed4 =n.filed4;


### 这句是将 数据表tablename1设置别名为s   tablename2 设置别名为n   并且将 tablename1的列filed4 等于tablename2的列filed4 的项目的tablename1的列filed1和tablename2的filed2数据进行了更新




DELETE FROM tablename [WHERE CONDITION]   删除数据    


例:delete  s,n from tablename1 s ,tablename2 n where s.filed4 =n.filed4 and s.filed4 = 32;
             ### 这句是将 tablename1 和tablename2 中的 tablename1 的列filed4 等于32 和 tablename2 的filed4 也等于32的 数据删除






SELECT * FROM tablename [WHERE CONDITION];   查询数据


SELECT DISTINCT column FROM tablename; 去除重复查询






SELECT * FROM tablename [WHERE CONDITION |ORDER BY filed [DESC|ASC]]   ;  order by  可以对查询进行排序    desc 表示将序排序   asc 表示 升序   可以设置多个排序方式  如果值一样 将判断后面的排序方式






SELECT * FROM tablename [LIMIT offset_start,row_count]    ;   对查询结果进行切片     offset_start 和row_count 可以看做是列表的索引值 LIMIT 可以和 ORDER BY 合作 对查询进行切片分页  




SELECT * fun_name FROM tablename [WHERE where_contition][GROUP BY filed1,filed2,.....filedn][WITH ROLLUP][HAVING where_contition];  对查询进行聚合操作
fun_name 表示要做聚合操作   常用选项有 sun(求和), count(记录数),max(最大值),min(最小值)
GROUP BY 关键字表示要进行分类聚合的字段  
WITH ROLLUP 是可选语法 表明是否对分类聚合后结果再汇总
HAVING  表示对查询结果进行再筛选


其实查询还有更多方法  明天再继续研究(^-^)V




0 0