DML:数据操纵语言 表中的数据进行操作的语言
增加数据 insert删除数据 delete修改数据 update查找数据 select 最高的使用频率
一、DML数据操纵语言数据操纵语言是对数据库对象中数据的操作,比如对数据进行增加、删除、修改和查询等操作关键字:insert / delete / update / select
1:插入数据语法:insert into 表名[(字段名….)] values(值….)#创建数据表create table classroom(cid int,cname varchar(20),des varchar(50))
#添加数据到classroom#1.1、给所有字段添加值,和表中字段顺序一致insert into classroom values(1,'java','java班');
#1.2给cname字段添加值,和指定字段的顺序必须一致insert into classroom(cname) values('python');insert into classroom(cid,cname) values(3,'test');
#1.3添加3条记录(批量插入)insert into classroom values(4,'oracle','oracle班'),(5,'html','html班'),(6,'Mysql','Mysql班');
#1.4将classroom的值整体复制到classroom1create table classroom1(cid int,cname varchar(20),des varchar(50))
insert into classroom1 select * from classroom;select * from classroom1;-- 前提:classroom1和classroom表的结构必须要一样
#1.5查看表的所有记录select * from classroom;
2:删除数据语法:delete from 表名 [where 条件]
#2.1、删除classroom中的一条数据select * from classroom;delete from classroom where cname='python';
#2.2、删除classroom中的所有数据delete from classroom;select * from classroom;
#2.3、truncate清空表的数据语法:truncate table 表名;truncate table classroom;
注意:delete与truncate的区别是什么1:delete是逐行删除,truncate是文件级别的清空2:delete删除后,自增性会继续执行,不会重置truncate删除后,自增性重置
3:更改数据语法:update 表名 set 字段=新值… [where 条件]#3.1修改classroom中的一条数据update classroom set cname='test' where cid=1; #cid主键列update classroom set cname='test1' where des='oracle班';
#3.2、修改classroom中的所有数据update classroom set des='班级信息';
4:查询数据查询的完整语法:select 字段|表达式 from 表名|视图|结果集 [where 条件][group by 分组][having 分组之后进行检索][order by 排序][limit 限制结果]
#4.1查询所有信息select * from classroom
#4.1.1、查看部分信息select cid,cname from classroom;
#4.1.3、员工工资提升5%之后的员工姓名和工资 --算术运算select ename,sal+sal*0.05 from emp;
#4.2、范围查询#4.2.1、查询工资大于2000的员工信息 --比较运算select * from emp where sal>2000;
#4.2.2、查询工资在1000-2000之间的员工信息(范围查询) --比较+逻辑运算select * from emp where sal between 1000 and 2000; #包括边界select * from emp where sal>=1000 and sal<=2000;
#4.3、集合查询#4.3.1、查询员工编号为7521,7369,7788的员工信息(集合查询)select * from emp where empno=7521 or empno=7369 or empno=7788;select * from emp where empno in(7521,7369,7788);select * from emp where empno not in(7521,7369,7788);
#4.4、取别名 (小名,别号)#4.4.1、字段,表达式,结果集,表都可以起别名select ename,sal+sal*0.05 as 提升后的薪资 from emp;select ename 姓名,sal+sal*0.05 提升后的薪资 from emp;
#4.5、去重查询distinct#4.5.1、查询所有的职位信息 去重select distinct job from emp;
#4.6、模糊查询#4.6.1、查询名字以s开头的员工信息模糊查询 like %:匹配字符,匹配0个或多个长度的任意字符_:匹配一个长度的任意字符select * from emp where ename like 's%';
#4.6.2、查询名字中包含s的员工信息select * from emp where ename like '%s%';
#4.6.3、查询第二字符为L的所有员工信息select * from emp where ename like '_L%';
#4.7、排序#4.7.1、对所有员工的工资进行排序 升序asc和降序descselect * from emp order by sal;#升序 asc 可以省略,默认是升序的方式排列select * from emp order by sal desc;
#4.7.2、根据员工的工资降序排,如果工资一致,则按照员工编号降序排列select * from emp order by sal desc,empno desc;
#4.8、限制结果集显示#4.8.1、查询在10号部门工资最高的员工信息-- 1:查询在10号部门员工信息select * from emp where deptno=10;
-- 2:工资最高 排序 descselect * from emp where deptno=10 order by sal desc;
-- 3:只要第一个人的人信息select * from emp where deptno=10 order by sal desc limit 0,1-- limit m,n m:开始的位置,索引值从0开始 n:取值的长度(个数)
#4.9、为空/非空数据查询与操作#4.9.1、查询所有有奖金的员工信息-- #查询所有有奖金的员工信息select *from emp where comm>0;
-- #查询所有奖金列为空的员工信息select * from emp where comm is null;select * from emp where comm is not null;
#4.9.2、将奖金小于500的员工奖金加100元-- #将奖金小于500的员工奖金加100元select * from emp where comm<500 or comm is null;update emp set comm=comm+100 where comm<500 or comm is null;
update emp set comm=0 where comm is null;update emp set comm=comm+100 where comm<500 or comm is null;-- ifnull(comm,0) 判断comm列是否是null,如果是null,则赋值为0select * from emp;update emp set comm=ifnull(comm,0)+100 where comm<500 or comm is null;
练习;
1. 查询工资提升100元后超过2000的所有员工信息select sal+100 from emp where sal>2000
2. 查询工资在1000-2000之间的10号部门的最高工资的员工信息select * from emp where deptno=10 and sal between 1000 and 2000 order by sal desc limit 0,1
3. 将所有工资低于2000的员工工资提升5%update emp set sal=sal+sal*0.05 where sal<2000
4. 查询名字包含s的并且在20号部门的员工信息select * from emp where DEPTNO=20 and ename like '%s%'
5. 查询工资大于1000的10号部门的前5条记录select * from emp where DEPTNO=10 and sal>1000 limit 0,5
6. 将奖金小于500的员工奖金加100元update emp set comm=ifnull(comm,0)+100 where comm<500 or comm is null
二、SQL运算符算数运算符、比较运算符、逻辑运算符1:算数运算符+、-、*、/、div、%、 modselect 10/3; #3.3333 / 会保留小数select 10 div 3; #3 div 整除(只会取整个结果的整数部分)select 10 % 3; #1 % 取模 取余(取结果的余数)select 10 mod 3; #1 mod 取模 取余
2:比较运算符>、<、>=、<=、=、!=、is null / is not null / between..and / in / not in返回结果永远都是布尔类型的值(true/false)
3:逻辑运算符and 、or、!
select 1<0 and 2>1; #0 0==>False select 1<0 or 2>1; #1 1==>Trueselect !(1<0);#1 1==>Trueselect 1>0; #1 1==>True select 1<0; #0 0==>Falseselect 1!=0;select 10/3; #3.3333 / 会保留小数select 10 div 3; #3 div 整除(只会取整个结果的整数部分)select 10 % 3; #1 % 取模 取余(取结果的余数)select 10 mod 3; #1 mod 取模 取余
一、扩展常见数据类型1、回顾数据表的创建语法基本语法:mysql> create table数据表名称( 字段名称1 字段类型 字段约束 字段名称2字段类型 字段约束 primary key(主键字段 => 不能为空、必须唯一)
1.创建项目和项目管理用户创建项目管理用户创建项目使用命令创建项目的命令如下:source keystonerc_adminopenstack project createopenstack project listopenstack project delete myproject opentstack user create --password 123 user1penstack user
--选择 select * from student where name='insertName20' --插入 insert into student (name,sex,class) values('insertname',1,'
SQL的基本操作1. insert into语句insert into (列名1,列名2….)values(1,’技术部’) insert into xinzhan values (2,’
# SQL Server 基本操作SQL Server 是微软公司开发的一种关系型数据库管理系统(RDBMS),广泛应用于企业与开发者之间。无论是数据的存储、检索还是更新,SQL Server 提供了一套强大而灵活的语言——SQL(结构化查询语言)。本文将介绍 SQL Server 的基本操作,并通过示例代码进行说明。## 一、数据库的创建与删除在 SQL Server 中创建和删除数
use cuiplusCREATE TABLE [User](ID int PRIMARY KEY IDENTITY(1,1) NOT NULL , --IDENTITY默认就是+1递增,可以不写(1,1)Uid varchar(20) NO
基本操作~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ERROR:ORA-01034: ORACLE not availableORA-27101: shared memory realm does not existLinux Error: 2: No such file or directory~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~查看数据库相关
创建一个actor表,包含如下列信息列表 类型 是否为NULL 含义 actor_id smallint(5) not null 主键id first_name varchar(45) not null 名字 last_name varchar(45) not null 姓氏 last_update date not null 日期 CREATE table actor( actor
代码实现:use test_0425goselect *from student-- 查专业是什么学的select *from studentwhere stspecialty like'%学'-- 查分72-87的 并且 专业是什么文的select *from studentwhere stscore like '[7-8][2-7]' and stspecialty ...
设置收缩数据库自动和手动方式 分离和附加 查询 Select 列名 from 表名 where 条件 order by asc|desc Select 列名 from 表名 where 列名 like ‘c_’ ‘_’匹配一个字符,%匹配任意长度的字符串 【1-9】括号中所指定范围的一个字符 【^1-9】不在括号中所指定范围内的任意一个字符 插入:
配置SQL server 2005数据库环境配置SQL server 和SQL server Agent为手动方式单击“开始—程序—Microsoft SQL server 2005—配置工具-- SQL server configuration Manag
Sql 是一种结构化的查询语言;Sql是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理‘关系型数据库’系统;Sql对大小写不敏感;Sql不是数据库,是行业标准,是结构化的查询语言IntChar(30)—字段中只能接受30个英文字母或15个中文Varchar(30)1)经常变化的字段用varchar;2)知道固定长
MS SQL SERVER 基本操作在这篇博文中,我们将深入探讨 MS SQL SERVER 的基本操作,从环境准备到分步指南,再到配置详解,验证测试,优化技巧和扩展应用,每个部分都将为你提供实用性强的技术细节和代码示例。环境准备首先,确保你已安装了适合你的操作系统的 MS SQL SERVER。以下是前置依赖的安装信息。| 版本 | Windows | Linux |
# SQL Server 2012基本操作教程## 1. 整体流程为了帮助你学习SQL Server 2012基本操作,让我们按照以下步骤进行:| 步骤 | 操作 || ---- | ---- || 1 | 下载并安装SQL Server 2012 || 2 | 创建数据库 || 3 | 创建表 || 4 | 插入数据 || 5 | 查询数据
----------------------------建表,与插入数据--创建学位表CREATE TABLE QUAFICATION ( QUALID CHAR(1), QUALNAME VARCHAR(10), ---不要忘记括号 CONSTRAINTS QUA_ID_PK PRIMARY KEY (QUALI
sql: 结构化查询语言T-SQL:sql server数据库中用的查询语言数据库对象操作:一、建库: 二、建表:三、数据操作 1.添加 INSERT [INTO] 表名 (列列表) VALUES(值列表) a. 列列表和值列表一一对应(顺序和个数) b。可以为null的列可以省略 c。标识列不能在
本篇文章中,我们以核心思想为突破口,从原理介绍到一个C++类的写法,一步一步带领大家实现了一个第一人称三维摄像机的C++类。然后我们在这个摄像机类的帮助下,放出了一个几乎贯穿了我们之前学到的所有DirectX相关知识的“三维场景漫游”示例程序,算是对我们之前学的固定功能流水线这套渲染体系的总结。这个“三维场景漫游”示例程序的代码量有一千行,包括了Direct3D初始化,DirectInput输入处
本篇记录在使用libvirt的时候遇到的一些情况,即解决方法.出现Permission denied[root@localhost vm]# virsh start centoserror: Failed to start domain centoserror: internal error process exited while connecting to monitor: qemu-sy
在个人家庭实验室环境中,如何高效整合虚拟化技术与容器编排平台是许多技术爱好者面临的挑战。本文将详细介绍基于homelab项目实现KVM虚拟机与Kubernetes混合架构的部署方案,通过Ansible自动化工具链实现基础设施即代码(IaC)管理,帮助用户构建弹性可扩展的家庭服务器环境。## 架构设计与组件选型homelab项目采用分层架构设计,通过KVM实现硬件资源抽象,利用Kuberne...
从 Excel 到你的表格应用:保护工作表功能的嵌入实践指南在数据为王的时代,电子表格已成为我们处理和分析数据的利器。然而,数据安全也日益成为重中之重。试想一下,精心设计的公式被误改,关键数据被意外删除,将会带来巨大的损失。为了避免这种情况,保护工作表功能应运而生。本文将聚焦 SpreadJS,带你 ...