MySQL笔记-DML语句

二次信任 提交于 2019-11-26 04:05:20

一、关于DML语句

与DDL操作数据库对象(如数据库、数据表)不同,DML主要操作数据表里的数据,使用DML可完成如下三个任务:

1、插入新数据

2、修改已有数据

3、删除不需要数据

DML(Database Manipulation Language)由insert into 、update和delete from 三个命令组成。


二、DML3个命令语法

1、insert into

注:实践发现,省略into也可,但最好按标准。

insert into向指定数据表插入数据,对于标准的SQL 语句而言,每次只能插入一条记录。

1)、 语法:

insert into table_name [ column1 [,column2,……]] values (value1 [,value2,……]);

注:如果不想用括号列出所有列,则需要为每列指定值;如果某列不确定,则为该列分配一个NULL 值。

2)、特殊:使用子查询插入

insert into table_name (colum_name)SELECT columnName FROM tableName;

说明:使用子查询的值插入表,唯一的要求是选择出的数据列和插入目的表的数据列个数相等、数据类型匹配即可。


2、update

与set、where关键字搭配更新表记录。

语法:

update table_name

SET column1=value1 [,column2=value2,……]

[WHERE condition];

注:condition可使用=、>、<等判断符号。


3、delete from

说明:delete from 不需指定列名,因为是整行的删除,即每次删除一条或多条记录。

语法:

delete from table_name

[where condition];

注:删除的记录多少完全由condition控制,所以应谨慎使用,当没有where指定条件时,删除该表中所有记录。 


4、外键列特别说明

对于外键列,可设置级联删除(通过on delete cascade)或指定当主表记录被删除时,从表中参照该记录的从表记录的外键列值设为NULL(通过on delete set null)。

语法:

foreign key (subTableColumnX) references tableName(tableNameColumnY)

on delete cascade; #或使用on delete set null

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!