> 데이터 베이스 > MySQL 튜토리얼 > MySQL学习13:操作数据表中的记录(一)

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

WBOY
풀어 주다: 2016-06-07 14:50:02
원래의
1197명이 탐색했습니다.

操作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;


       


원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿