管理表记录
管理表记录
增加表记录
语法格式
·格式1∶添加1条记录,给所有字段赋值
- insert into 表名values (字段值列表);
·格式2∶添加多条记录,给所有字段赋值
- insert into 表名
values
(字段值列表),(字段值列表).(字段值列表);
·格式3∶添加1条记录,给指定字段赋值
- insert into表名(字段名列表) values(字段值列表);
·格式4∶添加多条记录,给指定字段赋值
- insert into表名(字段名列表)
values
(字段值列表),//第1条记录
(字段值列表),//第2条记录
(字段值列表);//第3条记录
注意事项
具体如下∶
-字段值要与字段类型相匹配。
-字符类型的字段,要用“”号括起来。
-依次给所有字段赋值时,字段名可以省略。
-只给部分字段赋值时,必须明确写出对应的字段名称。
-没有赋值的字段使用默认值或自增长赋值。
步骤一:练习插入表记录
mysql> create table studb.stu_info(
-> name varchar(8),not null,
-> sex enum("boy","girl"),not null,default 'boy',
-> age int(4),not null
-> );
1)插入记录时,指定记录的每一个字段的值
这种情况下,不需要明确指出字段,但每条记录的值的顺序、类型都必须与表格结构向一致,否则可能无法正确插入记录。
比如,以下操作将向stu_info表插入3条表记录:
mysql> INSERT into stu_info VALUES
-> ('Jim','girl',24),
-> ('Tom','boy',21),
-> ('Lily','girl',20);
Query OK, 3 rows affected (0.15 sec)
Records: 3 Duplicates: 0 Warnings: 0
完成插入后确认表记录:
mysql> SELECT * FROM stu_info; +------+--------+-----+ | name | gender | age | +------+--------+-----+ | Jim | girl | 24 | | Tom | boy | 21 | | Lily | girl | 20 | +------+--------+-----+ 3 rows in set (0.00 sec)
2)插入记录时,只指定记录的部分字段的值
这种情况下,必须指出各项值所对应的字段;而且,未赋值的字段应设置有默认值或者有自增填充属性或者允许为空,否则插入操作将会失败。
比如,向stu_info表插入Jerry的年龄信息,性别为默认的“boy”,自动编号,相关操作如下:
mysql> INSERT INTO stu_info(name,age)
-> VALUES('Jerry',27);
Query OK, 1 row affected (0.04 sec)
类似的,再插入用户Mike的年龄信息:
mysql> INSERT INTO stu_info(name,age)
-> VALUES('Mike',21);
Query OK, 1 row affected (0.05 sec)
确认目前stu_info表的所有记录:
mysql> SELECT * FROM stu_info; +-------+--------+-----+ | name | gender | age | +-------+--------+-----+ | Jim | girl | 24 | | Tom | boy | 21 | | Lily | girl | 20 | | Jerry | boy | 27 | | Mike | boy | 21 | +-------+--------+-----+ 5 rows in set (0.00 sec)
查询表记录
语法格式
·格式1查看所有记录
- select字段1,...字段N from 库名.表名;
格式2条件查询
- select字段1,....字段N from库名.表名where条件表达式;
mysql> select * from stu.stu_info where age=21;
+------+-----+------+
| name | sex | age |
+------+-----+------+
| tom | boy | 21 |
| mike | boy | 21 |
+------+-----+------+
注意事项
要求如下
-*表示所有字段
-查看当前库表记录时库名可以省略-字段列表决定显示列个数
-条件决定显示行的个数
更新表记录
语法格式
格式1,批量更新- update库名.表名
set字段名=值,字段名=值,字段名=值.....;格式2,条件匹配更新
- update库名.表名
字段名=值,字段名=值字段名=值,......
set
where条件表达式;
注意事项
具体如下:
-字段值要与字段类型相匹配
-对于字符类型的字段,值要用双引号括起来
-若不使用where限定条件,会更新所有记录字段值-限定条件时,只更新匹配条件的记录的字段值
4)更新表记录时,可以限制条件,只对符合条件的记录有效
将stu_info表中所有性别为“boy”的记录的age设置为20:
mysql> UPDATE stu_info SET age=20
-> WHERE sex='boy';
Query OK, 3 rows affected (0.04 sec)
Rows matched: 3 Changed: 3 Warnings: 0
确认更新结果:
mysql> SELECT * FROM stu_info; +-------+--------+-----+ | name | gender | age | +-------+--------+-----+ | Jim | girl | 10 | | Tom | boy | 20 | | Lily | girl | 10 | | Jerry | boy | 20 | | Mike | boy | 20 | +-------+--------+-----+ 5 rows in set (0.00 sec)
删除表记录
语法格式
·格式1,条件匹配删除
- delete from库名.表名where条件表达式;
·格式2,删除所有记录
- delete from 库名.表名;
注意事项
具体如下︰
-不加条件删除表中的所有行
5)删除表记录时,可以限制条件,只删除符合条件的记录
删除stu_info表中年龄小于18的记录:
mysql> DELETE FROM stu_info WHERE age < 18; Query OK, 2 rows affected (0.03 sec)
确认删除结果:
mysql> SELECT * FROM stu_info; +-------+--------+-----+ | name | gender | age | +-------+--------+-----+ | Tom | boy | 20 | | Jerry | boy | 20 | | Mike | boy | 20 | +-------+--------+-----+ 3 rows in set (0.00 sec)
6)删除表记录时,如果未限制条件,则会删除所有的表记录
删除stu_info表的所有记录:
mysql> DELETE FROM stu_info; Query OK, 3 rows affected (0.00 sec)
确认删除结果:
mysql> SELECT * FROM stu_info; Empty set (0.00 sec)
1 简述MySQL数据库中插入、更新、查询、删除表记录的指令格式。
参考答案
1)插入记录指令格式
insert into 库.表 values(值列表); //一次插入一条记录 给记录的所有字段赋值 insert into 库.表 values(值列表),(值列表); //一次插入多条记录 给记录的所有字段赋值 insert into 库.表(字段名列表) values(值列表); //一次插入1条记录 给记录的指定字段赋值 insert into 库.表(字段名列表) values(值列表),(值列表); //一次插入多条记录 给记录的指定字段赋值
2)更新记录指令格式
update 表名 set 字段名=值,字段名="值"; //批量修改 update 表名 set 字段名=值,字段名="值" where 条件; //修改符合条件的记录字段的值
3)查询记录指令格式:
select 字段列表 from 表名; //查询所有记录指定字段的值。 select 字段列表 from 表名 where 条件表达式列表; //查询与条件匹配记录指定字段的值。
4)删除表记录指令格式:
delete from 表名; //删除表的所有记录。 delete from 表名 where 条件; //只删除符合条件的记录

浙公网安备 33010602011771号