MySQL基础DML(三)

二、DML语句—数据操作语言—data manipulation language

insert into增---插入数据
show 查---显示
update改-- 更新/修正
delete (from) 删---从....上删除
truncate删---被删节---缩短

1.插入记录
1.1 插入全部字段

  • 所有的字段名都写出来
    INSERT INTO 表名 (字段名1, 字段名2, 字段名3…) VALUES (值1, 值2, 值3);
  • 不写字段名
    INSERT INTO 表名 VALUES (值1, 值2, 值3…);
    1.2 插入部分数据
    INSERT INTO 表名 (字段名1, 字段名2, …) VALUES (值1, 值2, …);
    没有添加数据的字段会使用NULL
    在这里插入图片描述
    关键字说明
    INSERT INTO 表名 – 表示往哪张表中添加数据
    (字段名1, 字段名2, …) – 要给哪些字段设置值
    VALUES (值1, 值2, …); – 设置具体的值
    注意
    • 值与字段必须对应,个数相同,类型相同
    • 值的数据大小必须在字段的长度范围内
    • 除了数值类型外,其它的字段类型的值必须使用引号引起。(建议单引号)
    • 如果要插入空值,可以不写字段,或者插入null

2.DOS命令窗口操作数据乱码问题的解决
当我们使用DOS命令行进行SQL语句操作如有有中文会出现乱码,导致SQL执行失败
错误原因:因为MySQL的客户端设置编码是utf8,而系统的DOS命令行编码是gbk,编码不一致导致的乱码

查看 MySQL 内部设置的编码
show variables like ‘character%’;

解决方案:
修改client、connection、results的编码为GBK,保证和DOS命令行编码保持一致

1. 单独设置
       set character_set_client=gbk;
       set character_set_connection=gbk;
       set character_set_results=gbk;
2. 快捷设置
       set names gbk;
   注意:以上2种方式为临时方案,退出DOS命令行就失效了,需要每次都配置
3. 修改MySQL安装目录下的my.ini文件,重启服务所有地方生效。此方案将所有编码都修改了[不建议]

3.蠕虫复制
什么是蠕虫复制:在已有的数据基础之上,将原来的数据进行复制,插入到对应的表中
语法格式:

INSERT INTO 表名1 SELECT * FROM 表名2;----两张表都必须存在才能使用
作用:将表名2中的数据复制到表名1中

在这里插入图片描述
4.更新表记录

1. 不带条件修改数据---将所有字段都修改为同一个值
   UPDATE 表名 SET 字段名=值;

在这里插入图片描述

2. 带条件修改数据
   UPDATE 表名 SET 字段名=值 WHERE 字段名=值;

在这里插入图片描述
关键字说明
UPDATE: 修改数据
SET: 修改哪些字段
WHERE: 指定条件

5.删除表记录

1. 不带条件删除数据
   DELETE FROM 表名;

在这里插入图片描述

2. 带条件删除数据
   DELETE FROM 表名 WHERE 字段名=值;

在这里插入图片描述

3. truncate删除表记录
   TRUNCATE TABLE 表名;

在这里插入图片描述

truncate和delete的区别:

 - delete是将表中的数据一条一条删除
 - truncate是将整个表摧毁,重新创建一个新的表,新的表结构和原来表结构一模一样
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值