当前位置:Gxlcms > mysql > MySQL学习13:操作数据表中的记录(一)

MySQL学习13:操作数据表中的记录(一)

时间:2021-07-01 10:21:17 帮助过:8人阅读

操作MySQL数据库中的数据表的记录包括:记录的插入、记录的修改、记录的删除和记录的查询。简单来说、就 是数据表中的记录的增删改查。 一插入记录 MySQL数据库中的数据表的记录的插入包括三种形式,在前面我们操作数据表的时候就已经使用过记录的插入。 那

操作MySQL数据库中的数据表的记录包括:记录的插入、记录的修改、记录的删除和记录的查询。简单来说、就

是数据表中的记录的增删改查。

一插入记录

MySQL数据库中的数据表的记录的插入包括三种形式,在前面我们操作数据表的时候就已经使用过记录的插入。

那只是我们最常使用的一种方式而已,接下来我们来看看记录的三种插入方式:

(1)INSERT命令

MySQL数据库中的数据表中插入记录的第一种语法格式,也是最常用的一种语法格式为:

INSERT [INTO] table_name [(col_name,...)] {VALUES | VALUE} ({expr | DEFAULT},...),(...),...;

例子:

我们在向数据表中写入记录的同时,首先先来创建一张数据表,并来查看所有字段:

CREATE TABLE users3(

id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,

username VARCHAR(20) NOT NULL,

password VARCHAR(32) NOT NULL,

age TINYINT UNSIGNED NOT NULL DEFAULT 10,

sex BOOLEAN

);

DESC users3;


1)省略所有字段的情况

下面记录的插入列出了插入字段的各种情况:

INSERT users3 VALUES(NULL,'Tom','123',25,1);

INSERT users3 VALUES(NULL,'John','223',DEFAULT,0);

INSERT users3 VALUES(DEFAULT,'Rose','323',25,1);

INSERT users3 VALUES(DEFAULT,'Paul','123',23-5+1,1);

SELECT * FROM users3;


INSERT users3 VALUES(DEFAULT,'Tom','123',25);


上面的出错情况表明插入的记录与列的个数不匹配,因此如果我们做记录插入时省略所有字段名称的情况下,要

依次插入与列数相同个数的值,否则记录的写入不成功,向数据表中写记录的时候切记这一点。

2)插入指定字段的情况:

INSERT users3(username,password,age) VALUES('Kobe','111',23);

SELECT * FROM users3;


3)插入多条记录的情况:

INSERT users3 VALUES(NULL,'Dave','456',23,0),(NULL,'Jack','456',24,1);

SELECT * FROM users3;


(2)INSERT SET命令

MySQL数据库中向数据表中插入记录的第二种语法格式为:

INSERT [INTO] table_name SET col_name={expr | DEFAULT},...;

解释说明:与第一种插入记录方式的区别在于,此方法可以使用子查询(SubQuery)。引发子查询有三种情况,其

中有一种情况叫做由比较运算符引起的子查询,这里等号(=)也可以算是一种典型的比较运算符。此方法还有一个与第

一种方法的区别是,第一种可以一次性插入多条记录,但是第二种方法一次性只能插入一条记录。

例子:

INSERT users3 SET username='Jord',password='345';

SELECT * FROM users3;


(3)INSERT SELECT命令(超纲)

MySQL数据库中向数据表中插入记录的第三种语法格式为:

INSERT [INTO] table_name [(col_name,...)] SELECT ...;

解释说明:此方法可以将查询结果插入到指定数据表。由于我们现在了解的SELECT语句比较少,现在并不好理

解,但我们还是照常写出例子,学完了后面记录的查询我们也可以回过头来再次学习。

例子:

1在插入记录前,先来创建一个空的数据表test:

CREATE TABLE test(

id TINYINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,

username VARCHAR(20)

);

2我们将数据表users3中的年龄大于25的记录的username插入到数据表test中:

INSERT test(username) SELECT username FROM users3 WHERE age > 25;

3查询数据表test的记录:

SELECT * FROM test;


二更新记录

MySQL数据库更新数据表的记录也是再经常不过的事了,简单的说就是更改某些记录的某些字段,或者重新赋值

等等。更新记录的方式包括单表更新和多表更新,这里我们只学单表更新,多表更新在后面叙述。

来看看单表更新的语法格式:

UPDTAE [LOW_PRIORITY] [IGNORE] table_reference SET col_name1={expr1 | DEFAULT} [,col_name2=

{expr2 | DEFAULT}] ... [WHERE where_condition];

(1)省略关键字WHERE的情况

如果省略关键字WHERE,导致的是将更新所有的记录。

例子:

1)更新一列:

SELECT * FROM users3;

UPDATE users3 SET age = age + 5;

SELECT * FROM users3;


2)更新多列:

SELECT * FROM users3;

UPDATE users3 SET age = age - id,sex = 0;

SELECT * FROM users3;


(2)有关键字WHERE下指定几条记录更新的情况

UPDATE users3 SET age = age + 10 WHERE id % 2 =0;

SELECT * FROM users3;


三删除记录

既然MySQL数据库中的数据表的记录有插入和更新,肯定的就有删除记录的情况,删除记录的方式也有两种:单

表删除和多表删除,这里也是只说单表删除。

单表删除的语法格式:

DELETE FROM table_name [WHERE where_condition];

例子:

指定条件删除,如果不指定删除哪几条记录,将会全部删除。

DELETE FROM users3 WHERE id = 6;

SELECT * FROM users3;


假设我们再重新插入一条记录,那么插入记录的id字段的值是多少呢?

INSERT users3 VALUES(NULL,'Bob','234',34,1);

SELECT * FROM users3;


人气教程排行