首页 > 数据库技术 > 详细

增删查改-MySQL

时间:2014-03-11 16:13:06      阅读:463      评论:0      收藏:0      [点我收藏+]

查询:

  在MySQL中,select的基本语法形式:

bubuko.com,布布扣
select 属性列表
    from 表名和视图
    [where 条件表达式]
    [group by 属性名 [having 条件表达式]]
    [order by 属性名 [asc|desc]]
bubuko.com,布布扣

  看看具体的用例:

首先看看表的结构:

bubuko.com,布布扣
mysql> desc user;
+----------+-----------------+------+-----+---------+----------------+
| Field    | Type            | Null | Key | Default | Extra          |
+----------+-----------------+------+-----+---------+----------------+
| id       | int(4) unsigned | NO   | PRI | NULL    | auto_increment |
| account  | varchar(10)     | NO   |     | NULL    |                |
| password | varchar(10)     | NO   |     | NULL    |                |
+----------+-----------------+------+-----+---------+----------------+
bubuko.com,布布扣

最简单的查找,查找出全部,*匹配所有数据,user就是表名:

bubuko.com,布布扣
mysql> select * from user;
+----+------------+----------+
| id | account    | password |
+----+------------+----------+
|  1 | xujianguo  | xjg      |
|  2 | wenjian    | cwj      |
|  3 | xiongsheng | hxs      |
+----+------------+----------+
bubuko.com,布布扣

加入条件后的查询:

bubuko.com,布布扣
mysql> select * from user
    -> where id > 1
    -> order by id desc;
+----+------------+----------+
| id | account    | password |
+----+------------+----------+
|  3 | xiongsheng | hxs      |
|  2 | wenjian    | cwj      |
+----+------------+----------+
bubuko.com,布布扣

带in关键字的查询:

  用in关键字可以判断某个字段的值是否在指定的集合中。

bubuko.com,布布扣
mysql> select * from user
    -> where id in(1, 3);
+----+------------+----------+
| id | account    | password |
+----+------------+----------+
|  1 | xujianguo  | xjg      |
|  3 | xiongsheng | hxs      |
+----+------------+----------+
2 rows in set (0.02 sec)
bubuko.com,布布扣

带between and的范围查询:

  between and关键字可以判断某个字段的值是否在指定的范围内。

bubuko.com,布布扣
mysql> select * from user
    -> where id between 2 and 3;
+----+------------+----------+
| id | account    | password |
+----+------------+----------+
|  2 | wenjian    | cwj      |
|  3 | xiongsheng | hxs      |
+----+------------+----------+
bubuko.com,布布扣

带like的字符匹配查询:

  like关键字可以匹配字符串。

bubuko.com,布布扣
mysql> select * from user
    -> where account like wen%;
+----+---------+----------+
| id | account | password |
+----+---------+----------+
|  2 | wenjian | cwj      |
+----+---------+----------+
bubuko.com,布布扣

分组查询:

  group by关键字与group_concat函数一起使用,进行分组显示。

bubuko.com,布布扣
mysql> select * from user;
+----+------------+----------+
| id | account    | password |
+----+------------+----------+
|  1 | xujianguo  | xjg      |
|  2 | wenjian    | cwj      |
|  3 | xiongsheng | hxs      |
|  4 | zheng      | cwj      |
+----+------------+----------+

mysql> select password, group_concat(account) from user
    -> group by password;
+----------+-----------------------+
| password | group_concat(account) |
+----------+-----------------------+
| cwj      | wenjian,zheng         |
| hxs      | xiongsheng            |
| xjg      | xujianguo             |
+----------+-----------------------+
bubuko.com,布布扣

使用count()函数查询:

bubuko.com,布布扣
mysql> select count(*) from user;
+----------+
| count(*) |
+----------+
|        4 |
+----------+
bubuko.com,布布扣

使用max()函数查询:

bubuko.com,布布扣
mysql> select max(id) from user;
+---------+
| max(id) |
+---------+
|       4 |
+---------+
bubuko.com,布布扣

 连接查询:

  将两个或者两个以上的表按照某个条件连接起来。

bubuko.com,布布扣
mysql> select user.id, account, usermessage.message
    -> from user, usermessage
    -> where user.id = usermessage.id;
+----+------------+----------+
| id | account    | message  |
+----+------------+----------+
|  1 | xujianguo  | hello    |
|  2 | wenjian    | love you |
|  3 | xiongsheng | yes      |
|  4 | zheng      | no no no |
+----+------------+----------+
bubuko.com,布布扣

 子查询:

  也就是说查询语句里面嵌套着另外一个查询语句。

bubuko.com,布布扣
mysql> select * from user
    -> where id in (select id from usermessage where id in(1, 2))
    -> ;
+----+-----------+----------+
| id | account   | password |
+----+-----------+----------+
|  1 | xujianguo | xjg      |
|  2 | wenjian   | cwj      |
+----+-----------+----------+
bubuko.com,布布扣

 插入:

  在MySQL中,可以通过不指定具体字段名为表插入记录,其基本语句形式:

bubuko.com,布布扣
insert into 表名 values(值1, 值2......)
bubuko.com,布布扣
bubuko.com,布布扣
mysql> insert into usermessage values(5, no problem);
Query OK, 1 row affected (0.09 sec)
bubuko.com,布布扣

这里就隐含了对应的值对应插入的规则。

  当然也可以指定插入,其基本的语句格式:

bubuko.com,布布扣
insert into 表名(属性1, 属性2......) values(值1, 值2......)
bubuko.com,布布扣
bubuko.com,布布扣
mysql> insert into usermessage(message, id) values("enen", 6);
Query OK, 1 row affected (0.09 sec)
bubuko.com,布布扣

更新:

  在MySQL中,update语句的基本语法形式:

bubuko.com,布布扣
update 表名
    set 属性名1=值1, 属性名2=值2......
    where 条件表达式;
bubuko.com,布布扣
bubuko.com,布布扣
mysql> update usermessage
    -> set message = nimei
    -> where id = 2;
Query OK, 1 row affected (0.11 sec)
bubuko.com,布布扣

删除:

  在MySQL中,delete语句的基本语法形式为:

bubuko.com,布布扣
delete from 表名 [where 条件表达式]
bubuko.com,布布扣
bubuko.com,布布扣
mysql> delete from usermessage where id = 5;
Query OK, 1 row affected (0.10 sec)
bubuko.com,布布扣

增删查改-MySQL,布布扣,bubuko.com

增删查改-MySQL

原文:http://www.cnblogs.com/rayguo/p/3593777.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!