MySQL学习笔记第二部分——数据的增删改查详解

一. insert增数据详解

先新建一个表:

查看表头结构:

 

⭐tips:为了防止输入中文字符导致乱码,在输入数据之前,可以写 set names gbk;防止乱码。此命令支队当前表有效。

———————————————————————————————————————————————— 

1.增加

        ⭐关键语句:insert into

在数据库表中加一行容易,加一列会影响整个列表的形状结构,在加入数据之前,要清楚一下三个问题:

  • 往哪张表中添加行?
  • 给哪几个列添加值?
  • 分别加什么值?

①.在所有列添加数据:

查看表:

②.在部分列添加数据:

?tips:

  • 可以看到表中的结果,id一列在没有指定数值的情况下自动增加了步长,这是由于在设定id类型的时候,指定了属性auto_increment,即自增长型,故id列可以自主增长并添加。
  • default 意为默认值,在default之后设定的内容即为当没有输入这一列的数值时,默认的填充值。
  • 默认值的设定需要留心,对于字符串的初始默认值,可以为“ ”,即空格;对于int类型,初始默认值最好写0,对于整型,如果默认值设定为空格容易造成错误。

如果插入所有列,则可以不用声明待插入的列,也就是说,如果没有说明待插入的列,则默认为是一次插入所有的列,故可以简写为:

?注意:默认全插入值的情况下,列数必须和插入值一一对应,否则将会出错,设定的自动增长和默认值的情况是对于插入部分列而来的。使用输入法时,必须注意是否为半角状态。

一次性加入多行数据:

insert into classx
(sname,company,salary)
values
('Mary','IBM',9888.15),
('Ivan','B.C',8788.24),
('Amy','U.K',5988.24);

  

——————————————————————————————————————————————————

2.修改

        ⭐关键语句:update

在修改之前,需要知道的问题为:

  • 改哪张表?
  • 改哪一列的值?
  • 分别改成什么值?
  • 在那些行生效?

?tips:where后加的是表达式,若表达式为真,则该行发挥作用。

上例中,where后面的表达式会逐一寻找每一行,当出现让表达式成立的行时,则会在该行生效where之前的修改内容。

又见一例:(将性别为男且工资大于8000的用户的饭补修改为159)

其实,where后面的表达式恒为真时,就会遍历所有行,致所有行的指定列都被修改: 

3.删除

一般的删除指的是【删除整行】,因为当删除某个值时,相当于修改操作。

        ⭐关键语句:delete from

对于删除,要明白的是:

  • 要删哪张表的数据?
  • 删哪个行?

删除salary大于8800的用户:

删除salary大于6000且性别为女的用户:

若是执行delete from classx; 则整个表都会被删除。

4.查询

关键语句:select…(列)…from…(where表达式…

对于查询,需要明白的是:

  • 查哪些表的数据?
  • 查哪些列?
  • 查那些行?

查询id=6的用户的sname,company,salary from class where id=6; 

 

select * from class;(查询所有行所有列)

部分列,所有行,取所有人的姓名和工资:

查询id>3的所有行:

部分行,部分列,取id<5,取姓名与饭补:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值