4.1 插入数据
4.1.1 为表的所有字段插入数据
使用基本的INSERT语句插入数据要求指定表名称和插入到新记录中的值。
INSERT INTO table_name (column_list) VALUES (value_list);
虽然使用INSERT插入数据时可以忽略插入数据的列名称,但是值如果不包含
列名称,那么Values关键字后面的值不仅要求完整,而且顺序必须和表定义时列的顺序相同
4.1.2 为表的指定字段插入数据
为表的指定字段插入数据,就是在INSERT语句中只向部分字段中插入值,而其他字段的值为表定义时的默认值。
4.1.3 同时插入多条记录
INSERT语句可以同时向数据表中插入多条记录,插入时指定多个值列表,每个值列表之间用逗号分隔开,基本语法格式如下,
INSERT INTO table_name (column_list) VALUES (value_list1), (value_list2),...,
(value_listn);
4.1.4 将查询结果插入到表中(把这个表中的数据插入到另外一个表中)
INSERT语句和SELECT语句组成的组合语句即可快速地从一个或多个表中向一个表中插入多个行。
INSERT INTO table_name1 (column_list1)
SELECT (column_list2) FROM table_name2
WHERE (condition)
4.2 更新数据
MySQL中使用UPDATE语句更新表中的记录,可以更新特定的行或者同时更新所有的行。
UPDATE table_name
SET column_name1 = value1,
column_name2=value2,……,
column_namen=valuen
WHERE (condition);
4.3 删除数据
从数据表中删除数据使用DELETE语句,DELETE语句允许WHERE子句指定删除条件。
DELETE FROM table_name、
[WHERE condition>] ;
4.4 为表增加计算列
什么叫计算列呢,简单来说就是某一列的值是通过别的列计算得来,例如a列值为1,b列值为2,c列不需要操作手动插入,定义为a + b的结果为c的值,那么c就是计算列,是通过别的列计算得来。
增加计算列的语法格式如下:
col_name data_type [GENERATED ALWAYS] AS (expression)
[VIRTUAL | STORED] [UNIQUE [KEY]] [COMMENT comment]
[NOT NULL | NULL] [[PRIMARY] KEY]
在MySQL8.0中,CREAE TABLE和ALTER TABLE中都支持增加计算列
主要使用这句在定义也就是CREAE TABLE的时候中用GENERATED ALWAYS AS (expression)VIRTUAL;expression为表达式
在MySQL 8.0中,CREAE TABLE和ALTER TABLE中都支持增加计算列。下面以在CREAE TABLE中为例进行讲解。
4.5 MySQL 8.0的新特性——DDL的原子化
在MySQL 8.0版本中,InnoDB表的DDL支持事务完整性。即DDL操作要么成功要么回滚。DDL操作回滚日志写入到data dictionary 数据字典表 mysql.innodb_ddl_log 中用于回滚操作,该表是隐藏的表,通过show tables无法看到。通过设置参数,可将DDL操作日志打印输出到mysql错误日志中。
就是删除多个表时,有几个是错误的,删除报错时,并不会把正确的给删除
4.6 综合案例——记录的插入、更新和删除
原文:https://www.cnblogs.com/wkhzwmr/p/15312479.html