数据操纵语言DML(保姆级教学)

目录

DML:

表数据的插入:

                 1、选择需要插入的属性值进行数据插入

                2、为表中全部属性插入属性值,可以不用指定属性名

                3、插入多条数据

表数据的更新

        1、更新全部数据

        2、条件更新

        3、多条件更新

更新数据时的注意事项


DML:

                数据操纵语言,它是用来操纵数据对象中的数据的。

                其中包括对数据的以下操作:

                                1、Insert (插入)

                                2、delete(删除)

                                3、update(更新修改)

表数据的插入:


                 1、选择需要插入的属性值进行数据插入

                                        insert into <表名(属性名1,属性名2,.....,属性名n)>

                                        value(属性值1,属性值2,.....,属性值n);

                2、为表中全部属性插入属性值,可以不用指定属性名

                                        insert into <表名> value (属性值1,属性值2,.....,属性值n);

                3、插入多条数据

                                            insert into <表名> values (属性值1,属性值2,....,属性值n),

                                        (属性值1,属性值2,....,,属性值n),(属性值1,属性2,....,属性值n);

        #插入多条数据要用values,而插入单条数据value和values都可用

        #注意:插入时属性值与属性名的位置要一 一对应

-- 1、向数据表中指定的属性列插入数据
insert into people_tb(p_id,p_name) value(1,"张三");
-- 属性名的顺序要与插入数据的顺序保持一致,没有给定数据的属性默认为null

-- 2、向数据表中所有属性列插入数据
insert into people_tb(p_id,p_name,p_gender,出生年月)value(2,'李四',"男","2021-04-02");
-- SQL语言中没有单个字符类型,只有字符串类型,所以单引号和双引号都表示字符串
insert into people_tb value(3,"小明","男","2021-02-03");
-- 不给定属性名的插入就是默认为所有属性插入数据

-- 3、插入多条数据
insert into people_tb(p_id,p_name) values(4,"小花"),(5,"小张"),(6,"老王");

表数据的更新

        1、更新全部数据

                                update<表名> set 属性名1=属性值1,属性名2=属性值2,.........;

        2、条件更新

                                update <表名> set 属性名1=属性值1,属性名2=属性值2,........

                                where 属性名=属性值

#关键字where之后描述数据更新的条件

        3、多条件更新

                        所以条件需要同时满足用and或&&,不需要同时满足用or或||.

                                update 表名 set 属性名1=属性值1,属性值2=属性值2,.......

                                where 属性名1=属性值1 &&(||)属性名2=属性值2......;

-- 1、修改所有数据
update people_tb set p_gender = '女';
-- 不带条的修改,默认修改指定字段的所有数据

-- 2、条件更新
update people_tb set p_gender = '男' where p_name = '小明';

-- 3、多条件更新
update people_tb set p_gender = '男' where p_name = '小张' || p_name = '老王';
-- 逻辑运算符&& (and/AND)、|| (or/OR)

更新数据时的注意事项

1、数据一旦被更新,默认隐式事务下,提交无法撤回。

2、如果不更新不带条件就是更新全部数据

3、如果出现无法更新的情况,是由于表中默认设置了自动保护列不可被修改,需要在工具栏中进入Edit->Preference->SQLEditors,将安全检查Safe Updates关闭,注意要重启MySQL才会生效

4、如果数据库和数据表的字符集不支持中文,则无法插入中文字符,更新时也会出错。

如果发现数据更新错误,又没有语法错误,那就是没有关闭更新,或者是字符集不支持中文

去掉安全检查:在"编辑“菜单中选择“首选项”,在里面找到“SQL Editor”里的“ohter”中的“Safe updates”,把它的勾去掉,点击OK,然后重启workbench

表数据的删除delete(delete和drop是不同的,drop是DDl,delete是DML)

-- 表数据的删除delete
-- 1、删除表中所有数据(清空表数据)
delete from people_tb;
-- 2、条件删除
delete from people_tb where p_id = 5;
-- 3、多条件删除
delete from people_tb where p_id = 2 || p_name = '小花';
-- 删除和修改的条件最好是用主键

猜你喜欢

转载自blog.csdn.net/m0_65334415/article/details/128366621