SQL之DML-程序员宅基地

技术标签: 数据库  

DMLData Manipulation Language数据操纵语言statements are used for managing data within schema objects.

由DBMS提供,用于让用户或程序员使用,实现对数据库中数据的操作。
DML分成交互型DML和嵌入型DML两类。
依据语言的级别,DML又可分成过程性DML和非过程性DML两种。
需要commit.
SELECT
INSERT
UPDATE
DELETE
MERGE
CALL
EXPLAIN PLAN
LOCK TABLE

 

SQL SELECT 语句

SQL SELECT 语句

SELECT 语句用于从表中选取数据。

结果被存储在一个结果表中(称为结果集)。

SQL SELECT 语法

SELECT 列名称 FROM 表名称
以及:

SELECT * FROM 表名称
注释:SQL 语句对大小写不敏感。SELECT 等效于 select

 

SQL SELECT 实例

如需获取名为 "LastName" 和 "FirstName" 的列的内容(从名为 "Persons" 的数据库表),请使用类似这样的 SELECT 语句:

SELECT LastName,FirstName FROM Persons

 

"Persons" 表:

Id LastName FirstName Address City
1 Adams John Oxford Street London
2 Bush George Fifth Avenue New York
3 Carter Thomas Changan Street Beijing

结果:

LastName FirstName
Adams John
Bush George
Carter Thomas

SQL SELECT * 实例

现在我们希望从 "Persons" 表中选取所有的列。

请使用符号 * 取代列的名称,就像这样:

SELECT * FROM Persons
提示:星号(*)是选取所有列的快捷方式。

 

结果:

Id LastName FirstName Address City
1 Adams John Oxford Street London
2 Bush George Fifth Avenue New York
3 Carter Thomas Changan Street Beijing

在结果集(result-set)中导航

由 SQL 查询程序获得的结果被存放在一个结果集中。大多数数据库软件系统都允许使用编程函数在结果集中进行导航,比如:Move-To-First-Record、Get-Record-Content、Move-To-Next-Record 等等。

 

SQL INSERT INTO 语句

INSERT INTO 语句

INSERT INTO 语句用于向表格中插入新的行。

语法

INSERT INTO 表名称 VALUES (值1, 值2,....)
我们也可以指定所要插入数据的列:

INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)

 

插入新的行

"Persons" 表:

LastName FirstName Address City
Carter Thomas Changan Street Beijing

SQL 语句:

INSERT INTO Persons VALUES ('Gates', 'Bill', 'Xuanwumen 10', 'Beijing')

 

结果:

LastName FirstName Address City
Carter Thomas Changan Street Beijing
Gates Bill Xuanwumen 10 Beijing

在指定的列中插入数据

"Persons" 表:

LastName FirstName Address City
Carter Thomas Changan Street Beijing
Gates Bill Xuanwumen 10 Beijing

SQL 语句:

INSERT INTO Persons (LastName, Address) VALUES ('Wilson', 'Champs-Elysees')

 

结果:

LastName FirstName Address City
Carter Thomas Changan Street Beijing
Gates Bill Xuanwumen 10 Beijing
Wilson   Champs-Elysees

 

SQL UPDATE 语句

 

Update 语句

Update 语句用于修改表中的数据。

语法:

UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值

 

Person:

LastName FirstName Address City
Gates Bill Xuanwumen 10 Beijing
Wilson   Champs-Elysees  

更新某一行中的一个列

我们为 lastname 是 "Wilson" 的人添加 firstname:

UPDATE Person SET FirstName = 'Fred' WHERE LastName = 'Wilson' 

 

结果:

LastName FirstName Address City
Gates Bill Xuanwumen 10 Beijing
Wilson Fred Champs-Elysees  

更新某一行中的若干列

我们会修改地址(address),并添加城市名称(city):

UPDATE Person SET Address = 'Zhongshan 23', City = 'Nanjing'
WHERE LastName = 'Wilson'

 

结果:

LastName FirstName Address City
Gates Bill Xuanwumen 10 Beijing
Wilson Fred Zhongshan 23 Nanjing

 

SQL DELETE 语句

DELETE 语句

DELETE 语句用于删除表中的行。

语法

DELETE FROM 表名称 WHERE 列名称 =

 

Person:

LastName FirstName Address City
Gates Bill Xuanwumen 10 Beijing
Wilson Fred Zhongshan 23 Nanjing

删除某行

"Fred Wilson" 会被删除:

DELETE FROM Person WHERE LastName = 'Wilson' 

 

结果:

LastName FirstName Address City
Gates Bill Xuanwumen 10 Beijing

删除所有行

可以在不删除表的情况下删除所有的行。这意味着表的结构、属性和索引都是完整的:

DELETE FROM table_name
或者:

DELETE * FROM table_name

 

 

常用sql 总结

SELECT 语句

SELECT 列名称 FROM 表名称

SELECT * FROM 表名称

如需从 Company" 列中仅选取唯一不同的值,我们需要使用 SELECT DISTINCT 语句:

SELECT DISTINCT Company FROM Orders 

INSERT INTO 语句 语法 INSERT INTO 表名称 VALUES (值1, 值2,....) 我们也可以指定所要插入数据的列: INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)

Update 语句 语法: UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值

DELETE 语句 语法 DELETE FROM 表名称 WHERE 列名称 = 值 可以在不删除表的情况下删除所有的行。这意味着表的结构、属性和索引都是完整的: DELETE FROM table_name 或者: DELETE * FROM table_name

 

转载于:https://www.cnblogs.com/Skyyj/p/6514834.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_30773135/article/details/99265336

智能推荐

记录uniapp集成vant遇到的问题_vant不再兼容uniapp-程序员宅基地

文章浏览阅读1.6k次。需求:用uniapp做h5开发,需要用到第三方UI库。步骤:1.vant下载地址:GitHub - youzan/vant-weapp: 轻量、可靠的小程序 UI 组件库2.复制UI库:将下载或者clone下来的dist文件悉数拷到uniapp创建的根目录下的wxcomponents【ps:wxcomponents此文件需要自己手动创建,且名称不能更改,具体看uni-app官网】,此处我的目录结构为下图所示3.引入UI库:首先在app.vue文件里面@import "/w._vant不再兼容uniapp

服务器三块硬盘missing,服务器阵列崩溃、硬盘损坏、分区表丢失、红屏,还好数据救回来了...-程序员宅基地

文章浏览阅读2k次。前天下午,同行搬来一台服务器,描述为系统无法启动,里面数据很重要,是金蝶的ERP,而且有好几个帐套。上电开机,发现3块硬盘中,第一块不亮灯,第二块亮黄灯,第三块亮绿灯,不管是RAID几,这都不是什么好现象。启动过程中,并没有出现阵列卡界面,当然也看不到阵列信息,无从知晓是RAID几。重启服务器,进入BIOS,看到阵列卡型号为P410i,板载阵列卡,256M缓存,启动顺序也是阵列卡优先,看不出有什么..._raid miss硬盘没有亮橙色灯

docker网络的配置_error: peer netns reference is invalid-程序员宅基地

文章浏览阅读349次。docker网络的配置Linux内核实现名称空间的创建ip netns命令可以借助ip netns命令来完成对 Network Namespace 的各种操作。ip netns命令来自于iproute安装包,一般系统会默认安装,如果没有的话,请自行安装。注意:ip netns命令修改网络配置时需要 sudo 权限。可以通过ip netns命令完成对Network Namespace 的相关操作,可以通过ip netns help查看命令帮助信息:[root@localhost ~]# ip ne_error: peer netns reference is invalid

网络基础之网桥和交换机的工作原理及区别_桥、交换机的基本工作原理-程序员宅基地

文章浏览阅读4.5k次,点赞3次,收藏33次。网桥和交换机区别在叙述前,我们先一起看两幅图:1.网桥的连接模式:(红点处为HUB)2.交换机连接模式:从图中可以看到,网桥只有2个输入/出端口,而交换机有8个。嗯,是的,一开始的时候(那时候只有HUB这种设备),由于硬件水平不是很发达,人们为了提高局域网效率,减少广播风暴的出现,他们生产了网桥(一个只有两个输入/出端口的链路层设备,这时的网桥已经是个比较先进的设备),然后他们把一个局域网一分为2..._桥、交换机的基本工作原理

Pandas:合并连接操作merge、join_pandas merge join-程序员宅基地

文章浏览阅读840次。文章目录1.merge合并2.参数how:合并方式3.参数 left_on, right_on, left_index, right_index4.参数sort5.pd.join() → 直接通过索引连接课后作业pandas的基本特性之一就是高性能的内存式数据连接(join)和合并(merge)操作。Pandas的主接口是pd.merge函数。pd.merge(left, right, how..._pandas merge join

Javaweb中上传图片,获取相对路径,绝对路径_java获取相对路径的图片-程序员宅基地

文章浏览阅读3.8k次。标题:Javaweb中上传图片,获取相对路径,绝对路径实际上获取的是绝对路径,不过通过浏览器查看到的不会是绝对路径,而是被浏览器保护好,给你看到的一个假的路径,而我们要做的就是获取图片的名字即可,人为的添加一个路径,同时写入到数据库中一个相对路径即可最后的图片保存的绝对路径【不是图片原来的绝对路径】,E:\eclipse\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps\itcaststore\productImg\11\1_java获取相对路径的图片

随便推点

金仓数据库TPC-H自动化测试实践_tpc-h_tools_v3.0.1.zip-程序员宅基地

文章浏览阅读2.4k次。金仓数据库TPC-H自动化测试:生成数据、生成SQL语句、自动测试等_tpc-h_tools_v3.0.1.zip

【实用工具】HBuilder-程序员宅基地

文章浏览阅读1.2w次,点赞9次,收藏37次。HBuilder宝藏工具一、HBuilder简介HBuilder是DCloud(数字天堂)推出的一款支持HTML5的Web开发IDE。HBuilder的编写用到了Java、C、Web和Ruby。HBuilder本身主体是由Java编写,它基于Eclipse,所以顺其自然地兼容了Eclipse的插件。“快”是HBuilder的最大优势,通过完整的语法提示和代码输入法、代码块等,大幅提升HTML、JS、CSS的开发效率(摘自《动态网页设计与开发》一书)。二、HBuilder特点_hbuilder

Python如何读取MySQL数据库表数据_python调取mysql数据库content-程序员宅基地

文章浏览阅读4.5k次,点赞3次,收藏33次。# coding:utf-8# author: zay# 连接数据库 import pandas as pdimport pymysql # 连接数据库db = pymysql.connect( host = "localhost", database = "travel", user = "root", password = "xxxx", port = 3306, charset = 'utf8') #sql语句sqlcmd = ._python调取mysql数据库content

【虚拟机ubuntu设置ssh】ssh连不上问题解决方法_ubuntu22.04 无法ssh连接-程序员宅基地

文章浏览阅读4.6k次,点赞3次,收藏10次。【虚拟机ubuntu设置ssh】ssh连不上问题解决方法转载自博客园:https:www.cnblogs.com/chenxiaomeng/,仅供自用学习记录。首先,确保server端的ssh服务是开的(service shhd start)然后在client端输入: ssh 【usrname】@【serverip】 (远程登录)scp 【filename】 【usrname】@【serverip】:/URL (远程传输)常出现的问题:1.端口失效ssh 192.168.*.ssh: con_ubuntu22.04 无法ssh连接

跟着实例学习设计模式(9)-桥接模式bridge(结构型)_设计模式 桥接模式 举例-程序员宅基地

文章浏览阅读5.6k次,点赞7次,收藏9次。桥接模式属于结构型设计模式。设计意图:将抽象部分与实现部分分离,使它们都可以独立的变化。一看到设计意图,大家可能有些发懵,我们看到的继承和接口不都是抽象和实现分离的吗?尤其是接口和抽象类都是这样的实现啊!那怎么还有这么个桥接的分离呢?我们先来看个例子。例如:汽车品牌内置导航仪,我们希望实现,每个品牌的导航仪都可以在任何一个牌子的汽车上安装并启动。汽车品牌有两个:宝马、奔驰。_设计模式 桥接模式 举例

推荐文章

热门文章

相关标签