论坛风格切换切换到宽版
  • 5638阅读
  • 0回复

[分享]mysql 数据库中常用的sql语句 [复制链接]

上一主题 下一主题
离线voiphaozi
 

只看楼主 倒序阅读 使用道具 楼主  发表于: 2011-04-07
关键词: mysql
这个很有必要记录保存下来,方便你我。。以下为普通建表为例,然后进行SQL操作。
  

表结构:
  1. CREATE TABLE  `test` (                           //表名  
  2. `u_id` INT( 10 ) NOT NULL AUTO_INCREMENT ,      //id号,自动增长  
  3. `u_name` VARCHAR( 10 ) NOT NULL ,              //姓名  
  4. `regdate` DATE NOT NULL ,                      //日期  
  5. `remark` VARCHAR( 10 ) NOT NULL ,             //备注,职称  
  6. PRIMARY KEY (  `u_id` )                      //设置id号为主键  
  7. ) CHARACTER SET = utf8;                    //设置编码 utf8
一: insert  添加数据
  1. INSERT INTO  `test` (  `u_id` ,  `u_name` ,  `regdate` ,  `remark` )  
  2. VALUES (  
  3. '1',  '浩子',  '2011-04-01',  'voip'  
  4. );   //插入单条数据
  1. insert into test (u_id,u_name,regdate,remark) values (null,"孙悟空",now(),"弼马温") // 这里u_id 为自动增长,所以可以写空,now()是一个插入获取本月的日期函数[font=arial] [/font]
  1. insert into test (u_id,u_name,regdate,remark) values  
  2. (null,"孙悟空",now(),"弼马温"),(null,"鸟人",now(),"会飞"); //插入多条数据
二:update  修改语句
  1. update test set u_name="小浩子" where u_id=1  //这里是修改了u_name 的值的,后面带上了u_id 的值,不然后会把整个数据全部修改,一定要谨慎
三: datele 删除语句
  1. delete from test where u_id=4  //删除u_id 为4的这行记录
四:select 查询语句  (这个很重要,大多数操作都是围绕查询来做的)
  
  1. select * from test  #查询表中全部数据  
  2. select * from voip.test #查询全部还可以这么写,voip表示为数据库名  
  3. select u_id,u_name from test  #查询表中某一个或多个字段的数据值  
  4. select u_name as name from test  #查询出结果字段以别的名称显示,但真实的字段结构不会变  
  5. select * from test where u_name="浩子"  #查询u_name 字段等于浩子的所有数据  
  6. select * from test where u_name <> "浩子" #查询u_name 字段不等于浩子的所有值  
  7. select * from test where u_id in (1,2,5)  #查询u_id 字段中包含1,2,5的数据  
  8. select * from test where u_id not in (1,2,5) # 查询u_id 字段中不包含1,2,5 的数据  
  9. select * from test where u_name like "%浩%"   #查询u_name 字段中 匹配或包含有“浩”的数据  
  10. select * from test where u_id between 1 and 5  #查询u_id 字段中 第1条到第5条的数据  
  11. select * from test where u_id not between 1 and 5  #查询u_id 字段中 不是第1条到第5条的数据  
  12. select * from test where u_id >=1 #查询u_id字段中大于并且等于1的数据, 反之则是 <= 、>、< 都可以  
  13. select * from test where u_name="浩子" and remark="voip"  # 查询u_name的值等于“浩子”并且 remark=“voip” 的共同条件  
  14. select * from test where u_name="浩子" or remark="voip"  # 查询查询u_name的值等于“浩子” 或者 remark=“voip” 中的某一条件  
  15.   
  16. select * from test group by remark  #查询remark字段中不同的统称,打个比分说该字段中有学生N个,工人N个,那么查询出来的结果就学生和工人,而不会显示更多的学生和工人  
  17. select * from test order by regdate asc  #查询regdate(日期)字段中正序排列,也就是说按最早日期排列  
  18. select * from test order by regdate desc #查询regdate(日期)字段中倒序排列,也就是说按最晚日期排列,通常应用在最新发表什么什么的排序  
  19. select * from test limit 0,3  # 查询表中前3条记录(下表从0开始) select * from test limit 3 这样写也OK  
  20.   
  21. select count(*) from test #统计表中共有多少条记录 select count(u_id) from test 这里是统计某一字段共有的记录  
  22. select max(u_id) from test #查询u_id字段中最大值的数据,一般只能是对整型、数字这方面进行比对  
  23. select min(u_id) from test  # 这个就。。。最小值。。。  
  24. select avg(u_id) from test  #查询某一字段的平均值,一般用于查询某什么什么平均年龄或者工资什么的  
  25. select sum(u_id) from test  #查询某一字段的累加值,一般用于查询该字段中共多少工资什么什么的

  

  仅供参考

评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
快速回复
限100 字节
>> 支持Asterisk-help社区, 谢绝无意义字符回复
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
上一个 下一个