mysql数据库增删_MySQL数据库增删改查

一.插入记录有两种基本语法

insert into 表 values(值1,值2,值n);

eg: insert into user values(2,'姓名李文凯','男')

ps: 向user表中插入值id为2,姓名为李文凯,性别男

insertinto 表(字段1,字段2,字段n)values(值1,值2,值n);

eg: insertinto user(id,username,sex)values(213,'小沈阳',1);

ps: 向user表中插入id为213,username为小沈阳,性别为1.

说明:两种语法的区别是: 基本语法1的插入语句,表中有多少个字段就必须插入多少个值,不能多也不能少,如果不想插入需要写上null.

语法2中,除非有必填字段必须要写入值外,如果有默认值的不想写可以不写,mysql会自动补全默认值. 语法2中,以user(id,username,sex)字段顺序为值的顺序.

按照基本语法二写上表中的插入语句:

INSERT INTO user(username,sex) values('oldboy',10);

基本语法变形:一次插入多条记录

INSERT INTO user(username,password,sex)

values('黄晓明', 'abcdef', 1),

( 'angelababy', 'bcdeef', 0),

( '陈赫', '123456', 1),

('王宝强', '987654', 1);

二 基础查询

1.创建表的语句如下:

create table if not exists money(

uid int(11)not null,

username varchar(30)not null,

age tinyint unsigned not null,

sex tinyint not null

)engine=innoDB default charset=utf8

基本语法: selectfrom 表;

eg: selectfrom money;

ps 查询money表中所有字段中的所有结果

是一种正则表达式的写法,表示匹配所有,上面的查询语句喝下面的是等价:

mysql>selectfrom money;

+----+-----------+---------+-----------+-----+-----+

| id | username  | balance | province  | age | sex |

+----+-----------+---------+-----------+-----+-----+

|  1 | 王宝强    |  120.02 | 湖北      |  29 |   1 |

|  2 | 范冰冰    |  260.23 | 山东      |  40 |   0 |

|  3 | 黄晓明    |  150.86 | 山东      |  40 |   1 |

|  4 | 井柏然    |     810 | 辽宁      |  27 |   1 |

|  5 | 李冰冰    |   20.15 | 黑龙江    |  43 |   0 |

|  6 | 成龙      |     313 | 山东      |  63 |   1 |

|  7 | 杨幂      |     123 | 北京      |  30 |   0 |

|  8 | 刘诗诗    |     456 | 北京      |  29 |   1 |

|  9 | 柳岩      |    23.4 | 湖南      |  36 |   0 |

| 10 | 赵本山    |    3456 | 辽宁      |  63 |   1 |

| 11 | 汪峰      |   34.32 | 北京      |  44 |   1 |

| 12 | 郭德纲    |     212 | 天津      |  43 |   1 |

+----+-----------+---------+-----------+-----+-----+

12 rows in set (0.00 sec)

三. 指定字段查询

语法: select 字段 from 表;

eg: select id,username,balance from money;

ps: 查询money表中id,username,balance字段中的所有结果

mysql> select id,username, balance from money;

+----+-----------+---------+

| id | username  | balance |

+----+-----------+---------+

|  1 | 王宝强    |  120.02 |

|  2 | 范冰冰    |  260.23 |

|  3 | 黄晓明    |  150.86 |

|  4 | 井柏然    |     810 |

|  5 | 李冰冰    |   20.15 |

|  6 | 成龙      |     313 |

|  7 | 杨幂      |     123 |

|  8 | 刘诗诗    |     456 |

|  9 | 柳岩      |    23.4 |

| 10 | 赵本山    |    3456 |

| 11 | 汪峰      |   34.32 |

| 12 | 郭德纲    |     212 |

+----+-----------+---------+

12 rows in set (0.00 sec)

四. 查询单个字段不重复记录 distinct

语法: select distinct 字段 from 表;

eg: select distinct age deptno from money;

ps: 查询money表中年龄唯一的所有结果

mysql> select distinct age deptno from money;

+--------+

| deptno |

+--------+

| 29 |

| 40 |

| 27 |

| 43 |

| 63 |

| 30 |

| 36 |

| 44 |

+--------+

8 rows in set (0.00 sec)

五.条件查询 where

语法: select 字段 from 表 where where条件;

eg: select*from money where age=29;

ps: 查询money表中年龄为29的所有结果

mysql> select * from money where age = 29;

+----+-----------+---------+----------+-----+-----+

| id | username | balance | province | age | sex |

+----+-----------+---------+----------+-----+-----+

| 1 | 李文凯 | 120.02 | 湖北 | 29 | 1 |

| 8 | 刘诗诗 | 456 | 北京 | 29 | 1 |

+----+-----------+---------+----------+-----+-----+

2 rows in set (0.00 sec)

六 where后可接的条件

比较运算符结果集中将符合条件的记录列出来,上面的例子中,where后面条件是一个字段的'='.

除此之外,还可以使用> < >= <= !=等比较运算符

符号 说明

大于

< 小于

= 大于等于

= 小于等于

!= 不等于

= 等于

七 逻辑运算符

多个条件还可以使用or and 等逻辑运算符进行多条件联合查询 or或者and并且

eg: select * from money where id<10 and province='湖北'

ps: 查询所有字段 要求id小于10并且province='湖北'

mysql> select * from money where id <10 and province='湖北';

+----+-----------+---------+----------+-----+-----+

| id | username | balance | province | age | sex |

+----+-----------+---------+----------+-----+-----+

| 1 | 王宝强 | 120.02 | 湖北 | 29 | 1 |

+----+-----------+---------+----------+-----+-----+

1 row in set (0.00 sec)

八 结果集排序

语法 select 字段 from 表 order by 字段 排序关键词;

eg: select id,username,balance from money order by balance desc;

ps: 查询money表中的 id username balance 字段 按照余额进行降序排序用到的关键词: asc(升序排列,从小到大) desc(降序排列,从大到小) 在select出来之后的结果集中排序使用 order by,其中desc 和asc是排序顺序中的关键字,desc表示按照字段进行降序排列,asc表示升序排列,如果不写关键字默认升序排列.

mysql> select id,username, balance from money order by balance desc;

+----+-----------+---------+

| id | username | balance |

+----+-----------+---------+

| 10 | 赵本山 | 3456 |

| 4 | 井柏然 | 810 |

| 8 | 刘诗诗 | 456 |

| 6 | 成龙 | 313 |

| 2 | 范冰冰 | 260.23 |

| 12 | 郭德纲 | 212 |

| 3 | 黄晓明 | 150.86 |

| 7 | 杨幂 | 123 |

| 1 | 王宝强 | 120.02 |

| 11 | 汪峰 | 34.32 |

| 9 | 柳岩 | 23.4 |

| 5 | 李冰冰 | 20.15 |

+----+-----------+---------+

12 rows in set (0.00 sec)

九 结果集限制

对于查询或者排序后的结果集,如果希望只显示一部分而不是全部,使用limit 关键字结果集数量限制.

语法: select 字段 from 表 limit 数量;

eg select id,username,balance from monet limit 5;

ps 显示前五个用户

mysql> select * from money limit 5;

+----+-----------+---------+-----------+-----+-----+

| id | username | balance | province | age | sex |

+----+-----------+---------+-----------+-----+-----+

| 1 | 王宝强 | 120.02 | 湖北 | 29 | 1 |

| 2 | 范冰冰 | 260.23 | 山东 | 40 | 0 |

| 3 | 黄晓明 | 150.86 | 山东 | 40 | 1 |

| 4 | 井柏然 | 810 | 辽宁 | 27 | 1 |

| 5 | 李冰冰 | 20.15 | 黑龙江 | 43 | 0 |

+----+-----------+---------+-----------+-----+-----+

5 rows in set (0.00 sec)

十限制结果集并排序

语法: select 字段 from 表 order by 字段 关键词 limit 数量

eg: select id,username,balance from money order by balance desc limit 5;

ps: 按照钱来排序,显示前五个最有钱的用户

mysql> select id,username, balance from money order by balance desc limit 5;

+----+-----------+---------+

| id | username | balance |

+----+-----------+---------+

| 10 | 赵本山 | 3456 |

| 4 | 井柏然 | 810 |

| 8 | 刘诗诗 | 456 |

| 6 | 成龙 | 313 |

| 2 | 范冰冰 | 260.23 |

+----+-----------+---------+

5 rows in set (0.00 sec)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值