SQL——DBMS事务更新处理

本文详细介绍了SQL数据库的基本操作,包括创建表、插入数据、删除数据和更新数据,重点讲解了事务处理的概念,包括事务的四大特性(ACID)以及提交和回滚操作。对于数据更新,讲解了UPDATE语句的使用,如何搜索型更新和多列更新,同时也探讨了DELETE的不同用法,如全表删除、部分数据删除。
摘要由CSDN通过智能技术生成

目录

创建表——CREATE TABLE

数据插入——INSERT

数据删除——DELETE

数据更新——UPDATE

管理数据更新处理——事务


创建表——CREATE TABLE

CREATE TABLE 表名称

(列名称1 数据类型 约束条件,

列名称2 数据类型 约束条件,

......

该表的约束条件1,该表的约束条件2);

mysql> -- 创建销售部员工信息表
mysql> create table staff_inf
    -> (staff_id char(4) not null,
    -> staff_name varchar(100) not null,
    -> gender varchar(32) not null,
    -> sales_target integer ,
    -> sales_performance integer default 0,
    -> birth_date date ,
    -> primary key(staff_id));
Query OK, 0 rows affected (0.02 sec)

数据插入——INSERT

插入数据

INSERT INTO 表名称(列名称1,列名称2,......)  VALUES(值1,值2,值3,......);

相关定义

1.清单:将表名称中的列名以及values中的值用逗号隔开,分别放在括号()内的,这种形式称为清单。

2.列清单:表名称中括号内的内容被称为列清单。

3.值清单:VALUES中括号内的内容被称为值清单。

注意事项:

1.列清单和值清单中的列数必须保持一致。

2.原则上,执行一次INSERT语句会插入一行数据。但很多RDBMS(Oracle除外)都支持多行INSERT——将多条VALUES子句通过逗号进行分隔排列。

3.对表进行全列INSERT时,可以省略表名称后的列清单,值清单中的值会按从左到右的顺序赋给每一列。

4.向未设置NOT NULL的列中插入数据时,想给该列赋予NULL值可以直接在值清单中写入NULL。

mysql> -- 插入数据
mysql> insert into staff_inf(staff_id,staff_name,gender,sales_target,sales_performance,birth_date)                         -> values('001','李玉','女',100000,110000,'1992-02-15');
Query OK, 1 row affected (0.01 sec)

mysql> -- 插入多行数据
mysql> insert into staff_inf(staff_id,staff_name,gender,sales_target,sales_performance,birth_date)
    -> values('002','王二','男',150000,140000,'1993-03-28'),
    -> ('003','钱进','男',17800,17900,'1991-05-18');
Query OK, 2 rows affected (0.04 sec)
Records: 2  Duplicates: 0  Warnings: 0

mysql> -- 省略列清单
mysql> insert into staff_inf values('004','张曼','女',198000,175000,'1991-11-12');
Query OK, 1 row affected (0.04 sec)

mysql> -- 插入NULL数据
mysql> insert into staff_inf values('005','赵林','男',12000,NULL,'1994-09-11');
Query OK, 1 row affected (0.01 sec)

mysql> select * from staff_inf;
+----------+------------+--------+--------------+-------------------+------------+
| staff_id | staff_name | gender | sales_target | sales_performance | birth_date |
+----------+------------+--------+--------------+-------------------+------------+
| 001      | 李玉       | 女     |       100000 |            110000 | 1992-02-15 |
| 002      | 王二       | 男     |       150000 |            140000 | 1993-03-28 |
| 003      | 钱进       | 男     |        17800 |             17900 | 1991-05-18 |
| 004      | 张曼       | 女     |       198000 |            175000 | 1991-11-12 |
| 005      | 赵林       | 男     |        12000 |              NULL | 1994-09-11 |
+----------+------------+--------+--------------+-------------------+------------+
5 rows in set (0.00 sec)

插入默认值

1.创建表时,可以在CREATE TABLE语句中设置DEFAULT 约束来设定默认值。

2.显示方法插入默认值:在VALUES子句中指定DEFAULT关键字。

3.隐式方法插入默认值:在列清单和值清单中均省略设定了默认值的列。

4.如果省略了没有被设定默认值的列,该列的值会被设定为NULL。

mysql> -- 创建销售部员工信息表
mysql> create table staff_inf
    -> (staff_id char(4) not null,
    -> staff_name varchar(100) not null,
    -> gender varchar(32) not null,
    -> sales_target integer ,
    -> sales_performance integer default 0,
    -> birth_date date ,
    -> primary key(staff_id));
Query OK, 0 rows affected (0.02 sec)

mysql> desc staff_inf;
+-------------------+--------------+------+-----+---------+-------+
| F
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值