DDL语言(添加、修改、删除)

article/2024/12/26 4:03:17

    数据库意义:数据存储,数据管理

    DML语言:数据操作语言(insert、update、delete)

添加(insert)

        语法:

insert into 表名(字段1,字段2,字段3,...) values('值1'),('值2'),('值3'),('...')

例:

        ①

--插入语句(添加)
INSERT INTO `grade`(`gradename`)  VALUES ('大一')--由于主键自增我们可以省略(如果不写表的字段,他就会一一匹配)
INSERT INTO `grade` VALUES('大三')

        ②

CREATE TABLE IF NOT EXISTS `student2`(
`id` INT(4) NOT NULL AUTO_INCREMENT COMMENT '学号',
`name` VARCHAR(30) NOT NULL DEFAULT '匿名' COMMENT '姓名',
`pwd` VARCHAR(20) NOT NULL DEFAULT '123456' COMMENT '密码',
`sex` VARCHAR(2) NOT NULL DEFAULT '女' COMMENT '性别',
`birthday` DATETIME DEFAULT NULL COMMENT '出生日期',
`address` VARCHAR(100) DEFAULT NULL COMMENT '家庭住址',
`email` VARCHAR(50) DEFAULT NULL COMMENT '邮箱',
PRIMARY KEY(`id`)
)ENGINE=INNODB DEFAULT CHARSET=utf8

插入语句:

--一个字段插入多个值
INSERT INTO `grade`(`gradename`) VALUES('大二'),('大一')
INSERT INTO `student`(`name`) VALUES('张三')--多个字段插入一个值
INSERT INTO `student`(`name`,`pwd`,`sex`) VALUES ('张三','aaaaaa','男')--多个字段插入多个值
INSERT INTO `student`(`name`,`pwd`,`sex`) VALUES ('李四','aaaaaa','男'),('王五','aaaaaa','男')--没有指定字段插入值
INSERT INTO `student` VALUES (5,'李四','aaaaaa','男','2000-01-01',1,'西安','email')

注意:

  • 字段和值之间用英文逗号隔开
  • 字段可以省略,但后面后面的值必须要一一对应,不能少
  • 可以同时插入多条数据,VALUES后面的值,需要使用用英文逗号隔开即可


修改(update)

        修改谁(条件) set原来的值=新值

    语法:

UPDATE 表名 SET column_name=value [,column_name2=value2,...] [WHERE condition];

    例:

-- 修改学员名字
UPDATE `studenttest1` SET `name`='xiaoming' WHERE id  = 1-- 不指定条件的情况下,会改动所有的表!
UPDATE `studenttest1` SET `name`='xiaohong'-- 修改多个属性,逗号隔开
UPDATE `studenttest1` SET `name`='小明',`email` = '123@qq.com' WHERE id =1;-- 通过多个条件定位数据 trim--可以删除多余逗号
UPDATE `student` SET `birthday` = CURRENT_TIME WHERE `name`='小红' AND sex='女'-- 语法:
-- UPDATE 表名 set colnum_name = value.[colnum_name = value,.....] where [条件]

    where条件字句

        可以简单的理解为:有条件地从表中筛选数据

运算符含义范围结果
=等于5=6false
<>或!=不等于5!=6true
>大于5>6false
<小于5<6true
>=大于等于5>=6false
<=小于等于5<=6true
BETWEEN在某个范围之间BETWEEN 5 AND 6
AND并且5>1 AND 1>2false
OR5>1 OR 1>2true

例:

-- 通过多个条件定位数据
-- 修改学员名字,带了简介
UPDATE student SET `name`='小红' WHERE `name`='小明' WHERE id BETWEEN 2 AND 5

 

  注意:

  • column_name 为要更该地数据列,尽量带上 ` `
  • value 为修改后的数据,可以为变量
  • 条件如果没有指定,则会修改所有的列
  • 多个设置的属性之间,使用英文逗号隔开
  • trim可以删除多余的逗号


删除

    DELETE命令

        语法:

DELETE from 表名 [where 条件]

注意:如果不指定筛选条件,则会删除该表所有列数据

例:

-- 删除数据 (避免这样写,会全部删除)
DELETE FROM `student`-- 删除指定数据
DELETE FROM `student` WHERE id = 1;

    TRUNCATE命令

        作用:完全清空一个数据库表,表的结构、索引和约束不会变!

例:

-- 清空 student表
TRUNCATE `student`

    DELETE 和 TRUNCATE 区别

  • 相同点:
    • 都能删除数据,都不会删除表的结构
  • 不同点:
    • TRUNCATE TABLE 重新设置自增列,计数器 AUTO_INCREMENT 会归零;且速度更快;不会影响事务
    • DELETE 不会重新设置自增列,计数器会保留原来的值

测试 DELETE 和 TRUNCATE:

-- 创建一个测试表
CREATE TABLE `test` (
`id` INT(4) NOT NULL AUTO_INCREMENT,
`coll` VARCHAR(20) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8-- 插入几个测试数据
INSERT INTO test(coll) VALUES('row1'),('row2'),('row3');-- 删除表数据(不带where条件的delete)
DELETE FROM test;
-- 结论:如不指定Where则删除该表的所有列数据,自增当前值依然从原来基础上进行,会记录日志.-- 删除表数据(truncate)
TRUNCATE TABLE test;
-- 结论:truncate删除数据,自增当前值会恢复到初始值重新开始;不会记录日志.

扩展:

        同样使用DELETE清空不同引擎的数据库表数据.重启数据库服务后
        InnoDB:自增列从初始值重新开始 (因为是存储在内存中,断电即失)
        MyISAM:自增列依然从上一个自增数据基础上开始 (存在文件中,不会丢失)


http://chatgpt.dhexx.cn/article/rsCkkhbi.shtml

相关文章

使用数据库DDL语言创建数据库和基本表?(SQL Server 2014)

摘要&#xff1a;微信搜索【三桥君】 检索&#xff1a;《数据库系统原理》课程实验报告——实验一 建立数据库和基本表结构 说明&#xff1a;本实验是在SQL Server 2014版本数据库下操作完成的。 本实验通过举例创建一个数据库、一张有定义的表、以及添加数据到该表的实验过程&…

实验1 SQL的DDL语言和单表查询

第1关&#xff1a;创建供应商表S(SNO,SNAME,STATUS,CITY) 任务描述 创建供应商表S(SNO,SNAME,STATUS,CITY) 相关知识 供应商表S由供应商代码&#xff08;SNO&#xff09;、供应商姓名&#xff08;SNAME&#xff09;、供应商状态&#xff08;STATUS&#xff09;、供应商所在城市…

DML语言和DDL语言(数据库)

数据库DML,DDL语言&#xff1a;使用平台&#xff0c; DDL语言 1.create table 2.Create index 3.Alter table 4.Alter index 5.Drop index 1.展示数据库 2.使用某个数据库 3.展示表 4.查询表&#xff08;首先你要确定&#xff0c;你这个数据库有表&#xff09; 5.创建数…

mysql数据库-DDL语言

目录 1.DDL是什么&#xff1f; 2.有哪些常用的操作 1.查看数据库 2.创建数据库 2.删除数据库 3.添加查看表 4.删除表 5.修改表 &#xff08;1&#xff09;修改表类型 (2)增加表字段 &#xff08;3&#xff09;删除表字段 &#xff08;4&#xff09;修改字段名 &#x…

SQL语句之DDL语言

说明&#xff1a;DDL&#xff08;Data Definition Language&#xff0c;数据定义语言&#xff09;&#xff0c;用来定义数据库对象(数据库、表)&#xff0c;包括了数据库和表的创建、查询、使用和删除操作。 一、数据库操作 新安装的数据库&#xff0c;默认有以下四个数据库&…

DDL语言

其语句包括动词CREATE,ALTER和DROP。在数据库中创建新表或修改、删除表&#xff08;CREATE TABLE 或 DROP TABLE&#xff09;&#xff1b;为表加入索引等。 mysql是一个关系型数据库&#xff0c;库里面包含若干个表&#xff0c;而每一张表都是由行和列组成。 打开Navicat 1.0…

数据库:DML语言和DDL语言

文章目录 一、DML语言(数据操作语言)1.插入语句(1)方式一(2)方式二(3)两种方式比较 2.修改语句(1)修改单表的记录(2)修改多表的记录&#xff08;补充&#xff09; 3.删除语句(1)方式一(2)方式二(3)方式一与方式二区别(⭐) 二、DDL语言1.库的管理2.表的管理(1)表的创建A.语法B.常…

ddl是什么意思网络语_DDL(数据定义语言)

DDL,是对数据库内部的对象进行创建,删除,修改等的操作语言。它和DML语言最大的区别是DML只是对表内部数据的操作,而不涉及到表的定义,结构的修改,更不会涉及到其它对象。 1.连接数据库: 注:1.mysql代表客户端命令,-u后面跟连接的数据库用户,-p表示需要输入密码。 2.命令…

数据库定义语言(DDL)详解

数据库定义预压(DDL 语言)是重要的语言之一。包含三个关键字&#xff1a;CREATE,DROP,ALTER。 数据库语言都遵循巴科斯范式&#xff0c;其语言规范如下所示:L利用CREATE关键字可以实现定义&#xff1a;定义数据库&#xff0c;定义表&#xff0c;定义索引&#xff0c;定义视图等…

枚举到底是个什么鬼类型?

前言 枚举是很多面向对象语言都会有的一种类型&#xff0c;它可以将表达同一类型的变量组合成一个集合&#xff0c;组成一个常量集 在Java中也有枚举类型&#xff0c;是用enum关键字来表示的 枚举常用来表示一个常量集&#xff0c;用来限定变量的取值&#xff0c;只能在枚举…

面试官:为啥需要枚举?枚举有什么作用?怎么用枚举实现单例?

点赞再看&#xff0c;养成习惯&#xff0c;微信搜索【三太子敖丙】关注这个互联网苟且偷生的工具人。 本文 GitHub https://github.com/JavaFamily 已收录&#xff0c;有一线大厂面试完整考点、资料以及我的系列文章。 Java基础&#xff1a;枚举的用法与原理 在学习过程中&…

了解什么是枚举(enumeration)

1、枚举是一组常量的集合。还可以看成包含有限特定的对象。 2、自定义枚举的步骤&#xff1a; 将构造器私有化private将get方法拿掉在类的内部直接创建固定的对象&#xff0c;比如&#xff1a;public static Season SPRING new Season("春天","温暖");使…

Java~枚举的使用

目录 枚举的定义 枚举的使用 values()的使用 ordinal()的使用 valueOf() 的使用 compareTo()的使用 枚举的优缺点 枚举的定义 枚举是JDK1.5以后引入的。主要用途&#xff1a;将一组常量组织起来&#xff0c;在引入枚举之前表示一组常量通常是使用定义常量的方式&…

枚举类的使用方法

一、理解枚举类型 枚举类型是Java 5中新增特性的一部分&#xff0c;它是一种特殊的数据类型&#xff0c;之所以特殊是因为它既是一种类(class)类型却又比类类型多了些特殊的约束&#xff0c;但是这些约束的存在也造就了枚举类型的简洁性、安全性以及便捷性。下面先来看看如何写…

java枚举类详解

一、初始枚举 枚举类型是Java 5中新增特性的一部分&#xff0c;它是一种特殊的数据类型&#xff0c;之所以特殊是因为它既是一种类(class)类型却又比类类型多了些特殊的约束&#xff0c;但是这些约束的存在也造就了枚举类型的简洁性、安全性以及便捷性。下面先来看看什么是枚举…

(JAVA): 自定义枚举和enum枚举类型------详解。

目录 言图&#xff1a; ☣☣一、基本介绍 ☣1、什么是枚举 ☣2、枚举的特点 ☣3、枚举的实现方式 ☣☣二、自定义类实现枚举 ☣1、自定义枚举的特点 ☣2、代码示例 ☣3、代码分析 ☣☣三、enum关键字实现枚举 ☣1、enum使用细节 ☣2、enum实现接口 ☣3、代码示例 …

色彩-基础理论

颜色三大指标 色相 色相是颜色的一个属性&#xff0c;只有黑白灰没有色相这个属性(那银灰色是什么&#xff1f;) 颜色的相貌&#xff0c;指的也是给颜色一个名字 例如&#xff1a;暗红、酒红、土黄、墨绿 饱和度 颜色的鲜艳程度 纯度 饱和度主要取决于含色成分和消色成分&a…

10bit、8bit色彩深度的区别

下面 一张图能说明区别&#xff0c;10bit能表现的颜色值范围更多

OpenCV色彩空间与通道

色彩空间与通道 色彩空间&#xff08;Color Space&#xff09;是指用来描述和表示图像颜色的一种方式。不同的色彩空间具有不同的颜色模型和表示方式&#xff0c;常见的色彩空间包括 RGB、CMYK、HSV、Lab 等。 通道&#xff08;Channel&#xff09;是指在某种色彩空间中独立表…

色彩空间(一):色彩空间基础

转载自&#xff1a;https://www.zhangxiaochun.com/color-space-1/ 序言 相信很多做设计的小伙伴都听说过 RGB 或者 CMYK 这样的概念&#xff0c;RGB 和 CMYK 就是两个典型的色彩空间模式&#xff0c;前者主要用于光学色彩展示&#xff08;比如我们的电脑显示屏&#xff09;&am…