首页 > 数据库 >MySQL数据库的DML语法及使用举例

MySQL数据库的DML语法及使用举例

时间:2023-09-14 15:15:06浏览次数:29  
标签:classroom 删除 truncate cname MySQL DML 举例 表中 delete

本文列举数据库的操纵语言的语法及实际使用,以班级表作为举例:

班级表:classroom

点击查看创建班级表sql
create table classroom(
	cid int PRIMARY KEY auto_increment,
	cname varchar(20),
	des varchar(50)
);

一、插入数据

语法:insert into 表名[(字段名….)] values(值….)

1、给所有字段添加值,添加值顺序与字段顺序一致

INSERT INTO classroom VALUES(1, 'python', 'python编程课程');

2、指定字段添加值,添加值顺序与指定顺序一致

INSERT INTO classroom (cname, des)VALUES('java', 'java编程课程');

3、批量插入数据

INSERT INTO classroom VALUES ( 3, 'php', 'php班' ), ( 4, 'html', 'html班' ), ( 5, 'Mysql', 'Mysql班' );

4、从已有表中复制插入数据

  1. 先创建一个新表,与classroom表结构一致
    create table classroom1( cid int PRIMARY KEY auto_increment, cname varchar(20), des varchar(50) );
  2. 将classroom的值复制到classroom1表中
    insert into classroom1 select * from classroom;

二、删除数据

语法:delete from 表名 [where 条件]

1、筛选删除classroom表中的数据

delete from classroom where cname='python';

2、删除classroom表中的所有数据

  1. delete from classroom;
  2. truncate table classroom;
  • delete和truncate的区别:
  1. delete是逐行删除,truncate是文件级别的清空
  2. delete删除后自增性会继续执行,不会重置;truncate删除后自增性会重置
  3. 从删除速度上来说,⼀般truncate>delete

三、修改数据

语法:update 表名 set 字段=新值… [where 条件]

1. 筛选修改classroom表中的数据

update classroom set cname='oracle' where cid=1;

2. 修改classroom表中的所有数据

update classroom set des='班级信息';

标签:classroom,删除,truncate,cname,MySQL,DML,举例,表中,delete
From: https://www.cnblogs.com/Qiuq-L/p/17700232.html

相关文章

  • MySQL Node.js mysql 事务
    MySQLNode.jsmysql事务在MySQL数据库中,事务(transaction)是一组原子性操作,要么全部执行成功,要么全部回滚回去。在多用户并发环境中,事务可以保护数据的一致性和完整性。MySQL提供了ACID属性,并且支持事务。Node.js中,可以通过使用mysql模块的连接来实现事务。什么是事务在MySQL数......
  • Mysql命令整理
    整理一下,时常用到,不定期更新:(1)连接数据库:/local/mysql/bin./mysql--port=3301-uroot-p123456--protocol=tcp(2)创建数据库:createdatabasedbname;(3)切换数据库:use dbname ;(4)赋予权限:GRANTALLONdbname.*TO......
  • 公司某产品MySql分布式架构总结
    这个是目前公司某产品Server端MySql分布式架构总结(内容总结自wiki),该产品同时使用了Mysql和MongoDB。本篇Blog只做Mysql分布式架构的介绍。----------------------------------------------------一、共4台Linux服务器A\B\C\DAmasterwithslaveBC......
  • MySQL性能优化之 - 单表查询+代码层拼接 VS 表连接查询
    单表查询+代码端拼接的优势记得当初单位派我去阿里交流学习时,人家就说,在阿里,95%以上的查询都是单表查询,虽然我们都知道单表查询更加符合MySql底层的算法逻辑,但是单表查询+代码端拼接的优势究竟是什么,它为什么互联网企业都会使用单表查询呢?归纳而言大体分以下几点:1.激活代码端和......
  • Mysql主从复制原理
     本文总结自网上关于Mysql复制原理的一些文章。----------------------------------------------------------1、Mysql复制是一个异步的复制,从masterinstance到slaveinstance,实现整个复制操作主要使用3个进程完成。其中2个进程是Slave的Sql进程和IO进......
  • MYSQL单列索引和组合索引的对比分析
    单列索引:即一个索引只包含单个列,一个表可以有多个单列索引,但这不是组合索引。组合索引:即一个索包含多个列。怎么选择:如果查询where条件只有一个,完全可以用单列索引,这样的查询速度较快,索引也比较瘦身。如果业务场景是需要经常查询多个组合列,不要试图分别基于单个列建立多个单......
  • MySQL篇:第三章_详解DQL语言
    DQL语言的学习基础查询一、语法:SELECT要查询的东西【FROM表名】;类似于Java中:System.out.println(要打印的东西);特点:①通过select查询完的结果,是一个虚拟的表格,不是真实存在②要查询的东西可以是常量值、可以是表达式、可以是字段、可以是函数二、特点1、查询......
  • mysql事务回滚
    前几天发现程序有个Bug:使用JPA已经设置了回滚,但抛出异常后,提交的事务并没有回滚。刚开始以为是JPA使用问题,debug了近2个多小时竟然找不到原因。后来上网查了一下,才发现不是程序问题(坑爹啊,看来自己对mysql还是不熟),是数据库表问题(JPA自动建表)。原因如下:mysql建表时如果指定ENG......
  • MySQL篇:bug2_ Navicate无法添加或更新子行-外键约束失败
    问题产生原因Mysql中如果表和表之间建立的外键约束,则无法删除表及修改表结构。解决办法解决方法是在Mysql中取消外键约束:SETFOREIGN_KEY_CHECKS=0;再添加值,然后再设置外键约束:SETFOREIGN_KEY_CHECKS=1;查看当前FOREIGN_KEY_CHECKS的值可用如下命令:SELECT@@FOR......
  • N天爆肝数据库——MySQL(2)
    (N天爆肝数据库——MySQL(2))链接:link这是csdn专栏链接,大家可以看一看,提提意见本篇文章,主要对DMLDQL进行知识总结和学习。期待和大家一起学习进步。DML-介绍DML(数据库操作语言),用来对数据库中表的数据记录进行增删改操作。添加数据(INSERT)修改数据(UPDATE)删除数据(DELET......