网站系统建设合同范本,邢台市招生考试院官网,各大网站投稿,wordpress周期三、MySQL 高级#xff08;DML 增删改#xff09;
3.1 DML 数据操纵语言
DML#xff08;Data Manipulation Language#xff09;DML对数据库中表记录的执行操作 插入#xff08;INSERT#xff09; 插入单行数据 插入多行数据 将查询结果插入到新表 更新#xff08…三、MySQL 高级DML 增删改
3.1 DML 数据操纵语言
DMLData Manipulation LanguageDML对数据库中表记录的执行操作 插入INSERT 插入单行数据 插入多行数据 将查询结果插入到新表 更新UPDATE 删除DELETE 软件开发人员日常使用最频繁的操作必备技能 3.2 插入数据
INSERT 一次向表中插入一条记录
INSERT INTO 表名 [(字段名列表)] VALUES (值列表);
# 增INSERT into gradeinfo (grade) VALUES (ACCP);字段名是可选的如省略则依次插入所有字段 多个列表和多个值之间使用逗号分隔 值列表和字段名列表一 一对应 如果插入表中的部分字段数据则字段名列表必填 每个数据值的数据类型、精度和小数位数必须与相应的列匹配 不能为标识列指定值主键 如果在设计表的时候就指定了某列不允许为空则必须插入数据 如果字段具有默认值可以使用DEFAULT关键字来代替插入的数值 INSERT 一次向表中插入多行数据
INSERT INTO 表名 [(字段名列表)] VALUES (值列表1), (值列表2), (值列表n);
# 增INSERT INTO gradeinfo (grade) VALUES (ACCP),(BCSP);为避免表结构发生变化引发的错误建议插入数据时写明具体字段名 INSERT 将查询结果插入到新表
INSERT INTO 表名字段1,字段2 , …… SELECT 字段1字段2 , …… FROM 原表;
# 事先创建且与插入数据字段相符CREATE TABLE patient_address (SELECT patientName, address FROM patient ) ;
# 无须事先创建如果新表已存在将会报错 3.3 更新数据
UPDATE 更新数据记录
UPDATE 表名 SET 字段1值1, 字段2值2, …, 字段n值n [WHERE 条件];
# 更新表数据UPDATE gradeinfo SET gradeinfo.gradeBCSP WHERE gradeinfo.id2;3.4 删除数据
DELETE 删除数据记录
DELETE FROM 表名 [WHERE条件];
# 删除表信息DELETE FROM patient WHERE patientID 1DELETE条件删除语句中如果未指定WHERE条件语句则将删除表中的所有数据 DELETE FROM gradeinfo WHERE gradeinfo.id1;TRUNCATE 格式化表记录
TRUNCATE TABLE 表名;
# 格式化表TRUNCATE TABLE gradeinfo;使用 TRUNCATE 语句删除表中记录后将重置自增列表结构及其字段、约束、索引保持不变执行速度比 DELETE 语句快 3.5 比较 DROP、DELETE 与 TRUNCATE 语句
DROPDELETETRUNCATE类型DDL 会隐式提交不能回滚DML 每次从表中删除一行数据的同时将改行的删除操作记录在redo和undo表空间中以便进行回滚和重做操作 需要手动提交操作才能生效可通过ROLLBACK撤销操作DDL 会隐式提交不会记录日志不能回滚功能删除表结构及所有数据并将标所占用的空间全部释放可根据条件删除表中满足条件的数据如果不指定WHERE子句则删除表中所有记录删除表中所有记录并将重建表结构执行速度 一般来说DROPTRUNCATEDELETE 使用 DROP、TRUNCATE 语句时要慎重 如果使用 DELETE 语句删除表中部分数据要带上 WHERE 子句且要注意表空间要足够大 如果要删除表使用 DROP 语句 如果要保留表但删除表中所有数据如果与事务无关可以使用 TRUNCATE 语句 如果与事务有关则使用 DELETE 语句