首页 > 数据库 >SQL——数据操纵语言DML(INSERT,UPDATE,DELETE)、数据查询语言DQL(SELECT)、操作符

SQL——数据操纵语言DML(INSERT,UPDATE,DELETE)、数据查询语言DQL(SELECT)、操作符

时间:2023-09-16 15:31:45浏览次数:38  
标签:INSERT 常量 列名 DML UPDATE 查询 表名 WHERE SELECT


 DML

数据操纵语言(Data Manipulation Language,DML),是指在SQL语言中,负责对数据库对象运行数据访问工作的指令集,以INSERT、UPDATE、DELETE三种指令为核心,分别代表插入、更新与删除,是开发以数据为中心的应用程序必定会使用到的指令。

INSERT插入

INSERT是将数据插入到数据库对象中的指令,可以插入数据的数据库对象有数据表以及可更新查看表两种。

INSERT INTO 表名(列名1,列名2,。。。,列名n) VALUES(常量1,常量2.。。。常量n);   //常量根据列设置的类型而变;

INSERT INTO 表名(列名1,列名2,。。。,列名n) VALUES(常量1,常量2.。。。常量n),(常量1,常量2.。。。常量n),(常量1,常量2.。。。常量n);//插入多行数据。但只能在MySQL里有用。

UPDATE更新

UPDATE 指令是依给定条件,将匹配条件的数据表中的数据更新为新的数值。

UPDATE 表名 SET 列名1=列值1, 列名2=列值2, ... [WHERE 条件];     //条件必须是一个boolean类型的值或表达式。

DELECT删除

DELETE 指令为自数据库对象中删除数据的指令。

DELETE FROM 表名 [WHERE 条件];

TRUNCATE   表名;TRUNCATE是DDL语句,它只能删除表中的所有数据,不能根据条件删除,也不能删除表结构;

DROP TABLE 表名;直接删除表;

如果表中含有外键约束,DDL语句不能直接删除表,只能先删除外键约束才能删除表。

DQL

数据查询语言(Data QueryLanguage,DQL)用于查询数据,以SELECT为核心;

SELECT查询

SELECT 语句用于从表中选取数据,结果被存储在一个结果表中(称为结果集)。

SQL——数据操纵语言DML(INSERT,UPDATE,DELETE)、数据查询语言DQL(SELECT)、操作符_数据

SQL——数据操纵语言DML(INSERT,UPDATE,DELETE)、数据查询语言DQL(SELECT)、操作符_删除表_02编辑

SELECT..... FROM......[WHERE......][GROUP BY.......][HAVING........][ORDER BY.......];  //一个基本查询语句中,至少要有select子句和from子句。其他四个子句根据需求来选择。

SELECT * FROM 表名;    //查询表中所有数据;

SELECT  列名1,列表2…FROM 表名;//查询指定列

SELECT *  FROM 表名 WHERE 条件 //查询表中所有符合条件的

SELECT  ID 学号,NAME 姓名 FROM STUDENT;//起别名,即以中文的形式查询出来。

SELECT DISTINCT  列名1,列表2…FROM 表名;//关键字DISTINCT去重,当查询的结果全部相同时,去掉重复的。

SELECT * FROM 表名 WHERE 列名 LIKE 'a%';   //模糊查询。%代表0或多个字符,LIKE 'a%':查询首字母为a的数据。 LIKE'%a%':查询中间字母为a的数据。LIKE'a%':查询结尾字母为a的数据。

SELECT *FROM 表名 WHERE 列名 ORDER BY 列名 ASC/DESC;     //升序,降序排序

SELECT *FROM 表名 WHERE 列名 ORDER BY 列名 ASC/DESC  limit 3,3;     //升序,降序排序从第四行开始显示三行。

SELECT COUNT (DISTINCT 列名/*) FROM 表名; //count为统计函数,根据条件统计满足条件的行数,distinct为去重。

SELECT  NUM ( 列名/*) FROM 表名;  //总和

SELECT  AVG ( 列名/*) FROM 表名;  //平均值

SELECT  MAX ( 列名/*) FROM 表名;  //最大值

SELECT  MIN ( 列名/*) FROM 表名;   //最小值

当SELECT 后 既有 表结构本身的字段,又有需要使用聚合函数(COUNT(),SUM(),MAX(),MIN(),AVG()等)的字段,就要用到GROUP BY分组。

SELECT 列名, COUNT (列名/*) AS COUNT列名,AVG(列名)  AS AVG列名 FROM 表名 GROUP BY  列名 HAVING AVG(列名) 判断条件;  //分组查询。

SELECT */列名 FROM 表名 WHERE 列名 =/IN(SELECT */列名  FROM 表名 WHERE 条件);   //子查询。

SELECT */列名1  FROM 表1名,表2名 WHERE 表1名.列名=表2名.列名 ;//多表查询,自然连接,WHERE 表1名.列名=表2名.列名中的列名必须是相同的。

SELECT */列名1  FROM 表1名 INNER JOIN 表2名 ON 关联条件 (表1名.列名=表2名.列名 );//表1内连接表2.

操作符

逻辑操作符

SQL——数据操纵语言DML(INSERT,UPDATE,DELETE)、数据查询语言DQL(SELECT)、操作符_表名_03

SQL——数据操纵语言DML(INSERT,UPDATE,DELETE)、数据查询语言DQL(SELECT)、操作符_数据_04编辑

比较操作符

SQL——数据操纵语言DML(INSERT,UPDATE,DELETE)、数据查询语言DQL(SELECT)、操作符_数据_05

SQL——数据操纵语言DML(INSERT,UPDATE,DELETE)、数据查询语言DQL(SELECT)、操作符_删除表_06编辑



标签:INSERT,常量,列名,DML,UPDATE,查询,表名,WHERE,SELECT
From: https://blog.51cto.com/u_16252300/7494167

相关文章

  • 关于prepareStatement.excuteUpdate();方法返回值=1,但是表中数据不发生改变的问题(hbas
    问题描述我在执行增删改查时,查询完美,但是另外三个就比较让人无语了,这里的m值=1(为后台控制台输出看到),界面也能够正常跳转,但是数据不发生任何改变;问题解决经过查阅资料发现,原来在hbase数据库里面,我们还需要在对数据表进行改变的同时,还需要加上这么一条语句,放在:intm=psmt.exec......
  • MySQL篇:第四章_详解DML语言
    DML语言插入一、方式一语法:insertinto表名(字段名,...)values(值1,...);特点:1、字段类型和值类型一致或兼容,而且一一对应2、可以为空的字段,可以不用插入值,或用null填充3、不可以为空的字段,必须插入值4、字段个数和值的个数必须一致5、字段可以省略,但默认所有字段,并且......
  • QSqlTableModel.insertRecord()报错"No Fields to update"解决记录 && QField构造
    问题的出现当我想向一个Table中插入一条记录时,我本能的想的是:QSqlTableModel是由一条一条的Record组成的,那么我先创建一个Record,并且赋予对应的值,然后再使用QSqlTableModel::insertRecord()插入就好了,代码如下:QSqlRecordrcd;rcd.remove(model->fieldIndex("id"));rcd.setValu......
  • MAC 上 brew update 更换源
    //替换brew-git$cd"$(brew--repo)"$gitremoteset-urloriginhttps://mirrors.ustc.edu.cn/brew.git//替换homebrew-core.git$cd"$(brew--repo)/Library/Taps/homebrew/homebrew-core"$gitremoteset-urloriginhttps://mirrors.ustc.edu.cn/hom......
  • jquery框架学习(keep update)
    1.jquery在日常的开发中,是较为常用的一种技术,所以今天也不算较为系统详细的学习吧。2.主要是对jquery当中,许多常用的方法进行学习和总结吧3.jquery当中主要的特点就是:选择器,js当中呢,主要就是dom树结构。4.下面就不多说了,开始我们jquery当中方法的学习。1.①......
  • MySQL数据库的DML语法及使用举例
    本文列举数据库的操纵语言的语法及实际使用,以班级表作为举例:班级表:classroom点击查看创建班级表sqlcreatetableclassroom( cidintPRIMARYKEYauto_increment, cnamevarchar(20), desvarchar(50));一、插入数据语法:insertinto表名[(字段名….)]values(值….......
  • Unity 修改 FixedUpdate 时间间隔
    1.依次点击Edit->ProjectSetting->Time后,在打开的窗口中修改FixedTimestep即可。如下图所示: ......
  • JDBC Batch Insert OutOfMemoryError
    Ihavewrittenamethodinsert()inwhichIamtryingtouseJDBCBatchforinsertinghalfamillionrecordsintoaMySQLdatabase:publicvoidinsert(intnameListId,String[]names){Stringsql="INSERTINTOname_list_......
  • SQL Server: How to insert million numbers to table fast?
    YesterdayIattendedatlocalcommunityeveningwhereoneofthemostfamousEstonianMVPs–HennSarv–spokeaboutSQLServerqueriesandperformance.DuringthissessionwesawverycooldemosandinthispostingIwillintroduceyo......
  • Query Guide-Query From Insert
    Query查询Query定义了Siddhi中的处理逻辑。它使用来自一个或多个流、命名窗口、表和/或命名聚合的事件,以流方式处理事件,并将输出事件生成到流、命名窗或表中。目的查询提供了一种方法,可以按照事件到达的顺序处理事件,并使用有状态和无状态的复杂事件处理和流处理操作生成输出。语法......