当前课程知识点:MySQL数据库案例教程 > 第3章 记录操作 > 3.1 插入记录 > 3-1 插入记录视频
同学们好
今天我们学习第3章
记录操作
本次课的学习内容是
插入记录
当数据库和表建立好了以后
就需要往表中插入记录
日常生活中我们注册一个账号
在银行新开办一张银行卡
这些都对应表中的数据插入
在MySQL中插入记录使用insert语句
今天我们就通过案例来学习
如何使用insert语句
往表中插入全部字段
部分字段和同时插入多条记录操作
首先来学习insert语句的语法
insert语句有两种形式
第一种形式是insert into 表名
(字段名1,字段名2)等字段列表
values(值1,值2)等值列表
这个语句有两个关键字
insert into和values
insert into指明插入记录的表和字段
values则确定插入的值
其中字段列表和值列表应该顺序相同
含义应该一一对应
否则插入记录可能会出现语法错误
或者记录数据含义错误
第二种形式是
insert into 表 set字段名1=值2
字段名2=值2
这种形式非常直观明了的
给各个字段插入新值
下面我们就通过案例
来学习如何使用insert语句
案例1
往course添加一门课程
各字段值如下
课程号07
课程名 形式与政策
开课学期1 学分1
打开MySQL图形工具
使用第一种insert语句添加记录
先打开stu数据库
use stu 执行
一个语句执行成功
如果对表的结构不太熟悉
可以展开数据库下的表结构
INSERT INTO
course(cno,cname,start,credit)
VALUES(‘07’,’形式与政策’,1,1)
在书写常量表达式时一定要注意
字符型和日期型的常量
必须需要加上单引号
所有符号必须是英文状态下的符号
点击工具按钮的执行
或者键盘上的F9键
运行
可以看到命令执行成功
可以查看表中数据
07号课程记录
已插入到course表中
案例2
往course添加一门课程
各字段值如下
课程号08
课程名计算机基础 开课学期1 学分1
使用第二种形式添加记录
INSERT INTO course
set cno=‘08’ cname=’计算机基础’
start=1 credit=1数值型不用加单引号
点击执行查询
有一个错误
多了一个括号
删掉
再运行
成功
查看记录select * from course
可以看到08号课程
已被插入到表中
这两种语法都能往表中插入数据
但是因为第一种形式的语法上
在书写时相对简单被广泛使用
这两个例子都是insert语句的最基本用法
在实际使用时
会遇到不同的情况
需要我们灵活使用
接下来我们来学习insert语句
经常使用的三种情况
首先来看插入全部字段的用法
刚刚上面的例子往course表中
插入记录就是属于这种情况
那我们再来看一个案例
案例3 往student添加一名学生
各字段值如下
学号 0303
姓名 关雨
性别 男
出生日期 2000-9-12
年级 2019
系部 机械电子系
籍贯 北京市
展开student表结构
命令这样写
INSERT INTO student
(sid,sname,sex,birth,grade,department,addr)
VALUES(‘0303’,‘ 关雨’,’男’,
日期值加单引号
’2000-9-12’
年级是
整型
不加单引号
2019,’机械电子系’,’北京市’)
请注意所有符号必须是英文状态下
选中这条语句
执行成功
接下来我们来插看表中数据
查看数据也可以使用打开表
可以看到数据已插入到表中
其实给每个字段都插入新值时
还可以省略insert into
表名后面的字段列表
来看下面的案例
案例4
往student添加一名学生
各字段值如下
学号 0304 姓名 张小丽 性别 女
出生日期 2000-11-12
年级 2019 机械电子系 河南省郑州市
student表一共有7个字段
新插入的记录给7个字段都赋有新值
因此
语句可以这样写
INSERT INTO
student省略掉后面的字段列表
括号也省略掉
VALUES(‘0304’,’张小丽’,’女’,’
2000-11-12’,2019,
’机械电子系’,’河南省郑州市’)
执行成功
那我们来查看运行结果
select * from student
新记录已经插入到表中
接下来来看
只插入部分字段值时的使用方法
来看案例5
往student插入一名学生
添加字段值如下
学号 0305 姓名 张晓晓
系部 机械电子系
地址 河南省郑州市
student表一共有7个字段
新插入的记录只给4个字段赋有新值
只插入部分字段时
就必须在表名后面带上字段名列表
values后面的值与字段顺序保持一致
命令就可以这样写
INSERT INTO student
(sid,sname,department,addr)
VALUES
(‘0305’,’张晓晓’,’ 机械电子系’,’
河南省郑州市’)
执行
执行成功
我们来查看运行结果
select * from student
新记录已经插入到表中
再来看一个案例
案例6
往student添加一名学生
各字段值如下
学号 0306 姓名 李晓晓 性别 女
其余字段为空
那么这种也属于插入部分字段值的情况
语句可以这样写
INSERT INTO student(sid,sname,sex)
VALUES('0305','张晓晓','女')
执行
成功
查看运行结果
select * from student
新记录已插入
但是我们刚刚插入了三个字段值
李晓晓这条记录却有四个字段值
这是为什么呢
我们来查看student表的结构
可以看到department系部字段
设置了默认值
新记录值系部采用了默认值
创建表时给表中某个字段设置了默认值
如果插入新记录该字段不赋予值时
就采用默认值
接下来再来看一个案例7
往student添加一名学生
各字段值如下
学号 0307 性别 男
student表一共有7个字段
新插入的记录只给2个字段赋有新值
这种也属于插入部分字段值的情况
命令可以这样来写
INSERT INTO student(sid, sex)
VALUES('0307','男)
执行
出现错误
错误的原因是
field sname doesn’t
have a default value
sname字段没有默认值
这是什么意思呢
我们还是打开表表结构
student 改变表
可以看到sname不能为空
又没有默认值
但是我们插入记录时
没有给sname赋予新值
所以就违反了表的定义
我们往表中
插入记录时要注意两个小问题
第一
表定义时非空字段
添加记录时必须给这个字段赋新值
第二
必须遵循表定义时的各种约束
往表中插入记录
还会受到外键等各种因素的影响
我们将在后面的学习中给大家讲解
最后我们来看
往表中插入多条记录的情况
insert语句还可以一次插入多条记录
案例8
为0304号学生添加多门课成绩
01 02 03 06课程成绩
分别为78 88 92 85
Score表中一共又四个字段
我们只给三个字段赋值
语句可以这样写
insert into score(sid,cno,result)
values(‘0304’,’01’,78)
用括号括起来表示是一组
(’ 0304’,’02’,88),
(‘0304’ ,’03’,92),
(’0304’,’06’,85)
每条记录是一组
每组用括号括起来
每组之间用逗号分隔开
再来检查这些数据
执行
4行受影响
插入记录还可以通过图形界面
方式手动操作
如打开course表
在表的最后我们来插入
09
c 语言
2
3
在工具按钮点击保存更改
就可以了
这种方式只适合数据库
专业人员少量插入记录
不适合通过应用程序往数据库中插入数据
以上我们就学习了如何向表中插入记录
insert语句的基本语法
以及插入数据的常用三种情况
请大家通过练习掌握这些知识
对于插入记录
我们除了要掌握基本的命令
还要养成谨慎 精益求精的习惯
插入数据
不仅仅是一条命令执行完成就算成功
每一条数据
它都不仅仅是一行静态的数据记录
它是与我们的工作 生产
生活或着财产密切相关的数据
需要我们对数据认真核实和分析
本次课就讲到这里
谢谢 再见
-1.1 数据库基础知识
-1.2 MySQL的安装与运行
-第1章 测试
-2.1 数据库的基本操作
-2.2 表的基本操作
-2.3 MySQL数据类型
-2.4 约束设置
-2.5 索引
--2-5索引视频
--2-5索引课件
--2-5索引实训
-第2章测试
-3.1 插入记录
-3.2 修改记录
-3.3 删除记录
--3.3删除记录
-第3章 测试
-4.1 select语句
-4.2 单表查询
-4.3 多表查询
-4.4 子查询
--4-4子查询课件
--4-4子查询实训
-4.5 外键
--4-5外键视频
--4-5外键课件
--4-5外键实训
-4.6 视图
--4-6视图视频1
--4-6视图视频2
--4-6视图课件
--4-6视图实训
-第4章测试
-5.1 函数
--5-1系统函数
--5-1函数课件
--5-1 函数实训
-5.2 流程控制语句
-5.3 事务与游标
-5.4 存储过程
-5.5 触发器
--5-5触发器视频
--5-5触发器课件
--5-5触发器实训
-第5章测试
-6.1 数据库备份与还原
-6.2 异构数据源导入导出
-第6章测试
-7.1 用户管理
-7.2 权限管理
-7.3 应用实例开发
-第7章测试