文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

SQL结构化查询语——之DML语言

2024-04-02 19:55

关注

DML:Data Manipulation Language 数据操纵语言,主要用于实现对表的insert增,delete删,update改操作
一、insert添加记录
1. 添加记录,即添加行。

表内字段修饰符NO NULL被指定后则在添加记录时该字段必须指定值。没有默认值的字段必须指定值。
语法:INSERT tbl_name [(col1,...)] VALUES (val1,...), (val21,...)
中文:INSERT 表名 【列名…】VALUES(记录1),(记录2),…指定要赋值的字段名,然后用values()按顺序赋值,如果为所有字段赋值可以省略书写字段名。
赋值注意事项:1、字符串必用引号。 2、不允许空的字段必须要赋值,如果确关没有值,可以添加标记信息则所有记录都会被添加标记信息便于后期维护。3、主键列值不能重复。4、没有默认值的字段必须指定值。

2. insert操作实例
方法一:手动指定数据。

  1. INSERT INTO vmlab values(2,'Hong qigong',60,'M',3,4); 为所有字赋值
  2. INSERT INTO vmlab (id,name,age,classID) values(3,'Huang Yaoshi',56,3);添加一行为指定字段赋值。
  3. INSERERT INTO vmlab (id,name,age,classID) values(6,'Huang Yaoshi',56,3),(4,'Ou yangfeng',60,4),(5,'Duan zhixing',65,2);添加多行为指定字段赋值。

方法二:set 直接赋值

INSERT INTO vmlab set id=7,name='Guo Jing',age=23;用set直接为指定字段赋值。

方法三:从其它表提取数据批量插入

  1. Insert into vmlab (id,name,Age,Gender) select tid,name,age,gender from teachers; 从teachers表中提取指定字段所有行,插入到vmlab表中,此种方法要求:要求两个表的操作的字段顺序对应,字段数据类型相同。
  2. Insert into vmlab (id,name,Age,Gender) select tid,name,age,gender from other.teachers; 从other数据库的teachers表中提取指定字段所有行,插入到vmlab表中,此种方法要求:要求两个表的操作的字段顺序对应,字段数据类型相同。
  3. 实例:从一个表中查数据并插入另一个表实现方法:
    insert into t1 select * from t2;

二、delete删除记录:

  1. 语法:delete from 表名 where 匹配条件(一般为主键字段对应记录值);
  2. 意思 :删除来源于某表基于where匹配条件成功匹配的数据。
  3. 注意:delete必须用where限定匹配条件,否则将清空整个表的数据。
  4. 实例:
    a. DELETE FROM vmlab where id >10
    b. DELETE FROM hellodb.vmlab where id >10
  5. 清空表:TRUNCATE TABLE students;

三、update改修记录

  1. 语法:UPDATE 表名 SET 字段名=“值 ”WHERE 匹配条件(一般为主键字段对应记录值);
  2. 意思 :更新某表WHERE匹配条件的值 ,赋值来源于SET指定的赋值表达式。
  3. 注意事项:
    UPDATE必须用WHERE限定修改范围,否则将修改整个表。
  4. 实例:
    UPDATE vmlab SET NAME='Guo Jing' where id=2; 将vmlab表中的第二行记录name字段值改为Guo Jing

四、最佳操作

  1. 为了避免误操作,强然建议在连接数据库时使用mysql -U --safe->
  2. updates安全更新选项,或在配置文件/etc/my.cnf中[client]配置项中添加safe-updates强制启用安全更新选项。启用安全更新选项后修改要求表必须定义主键,再执行update修改记录时基于主键后在列的值进行修改范围限定。启用安全更新后如果表没有主键执行update时会出现如下提示
    SQL结构化查询语——之DML语言
  3. 在定义主键后,安全更新模式下,执行UPDATE修改记录时,where条件必须基于主键就行限定,其它字段则不能作为where条件限定,会出现如下提示:
    SQL结构化查询语——之DML语言
阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯