MySQL学习笔记之数据的增、删、改实现方法

时间:2022-08-27 14:19:45

本文实例讲述了MySQL学习笔记之数据的增、删、改实现方法。分享给大家供大家参考,具体如下:

一、增加数据

插入代码格式:

insert into 表明 [列名…] values (值…)

?
1
2
create table test21(name varchar(32));
insert into test21 (name) values ('huangbiao');

插入原则:

1、插入的数据应与字段的数据类型相同
2、数据的大小应该在列的规定范围内
3、在values中列出的数据位置必须与被加入的列的排列位置对应

例子:

?
1
2
3
4
5
6
create table test22(id int,name varchar(32));
mysql> insert into test22 (id,name) values (3,'huangbiao');
mysql> insert into test22 (name,id) values ('huangbiao2',5);
mysql> insert into test22 (name,id) values ('',51);
mysql> insert into test22 (name,id) values (NULL,555);
mysql> insert into test22 (id) values (15);

二、更新数据

更新数据的语法格式:

update 表明 set 列名=表达式 … where 条件

说明: 如果where 后面没有条件,则相当于对整个表进行操作。

例子数据:

?
1
2
3
4
5
6
7
8
9
10
11
12
create table employee(
   id int,
   name varchar(20),
   sex bit,
   birthday date,
   salary float,
   entry_date date,
   resume text
);
insert into employee values(1,'aaa',0,'1977-11-11',56.8,now(),'hello word');
insert into employee values(2,'bbb',0,'1977-11-11',57.8,now(),'hello word');
insert into employee values(3,'ccc',0,'1977-11-11',56.3,now(),'hello word');

将employee表的sal字段全部改为2000

?
1
update employee set sal=2000;

将名字为zs的用户的sal字段设置为3000

?
1
update employee set sal=3000 where name='zs'

将名字为wu的用户sal字段在原来的基础上加100

?
1
update employee set sal=sal+100 where name='wu'

三、删除数据

删除数据语法:

delete from 表明 where 条件

删除数据原则:

1、 如果不使用where 子句,将删除表中所有数据
2、 delete语句不能删除某一列的值(可使用update)
3、 delete仅仅删除记录,不删除表本身,如要删除表,使用drop table语句
4、 同insert和update一样,从一个表中删除一条记录将引起其他表的参照完整性问题
5、 删除表中的数据也可以使用truncate table语句

mysql 事务

1、 mysql控制台是默认自动提交事务(dml)
2、 如果我们要在控制台中使用事务,请看下面:

mysql 删除数据是自动提交的

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
mysql> set autocommit=false;
Query OK, 0 rows affected (0.00 sec)
mysql> savepoint aaa;
Query OK, 0 rows affected (0.00 sec)
mysql> delete from employee;
Query OK, 3 rows affected (0.05 sec)
mysql> select * from employee;
Empty set (0.00 sec)
mysql> rollback to aaa;
Query OK, 0 rows affected (0.06 sec)
mysql> select * from employee;
+------+------+------+------------+--------+------------+------------+
| id  | name | sex | birthday  | salary | entry_date | resume   |
+------+------+------+------------+--------+------------+------------+
|  1 | aaa |   | 1977-11-11 |  56.8 | 2014-11-10 | hello word |
|  2 | bbb |   | 1977-11-11 |  57.8 | 2014-11-10 | hello word |
|  3 | ccc |   | 1977-11-11 |  56.3 | 2014-11-10 | hello word |
+------+------+------+------------+--------+------------+------------+
3 rows in set (0.00 sec)

希望本文所述对大家MySQL数据库计有所帮助。