sql


DML(Data Manipulation Language):insert,delete,update,select

DCL(Data Control Language):grant、revoke、audit、noaudit、rename

DDL( Data Definition Language):create、alter、drop 、


1.解锁用户hr

用sys用户登录输入:

    alter user hr identified by pswd account unlock;

    alter user scott account unlock;(解锁)

2.

(1).group by   对查询结果按指定列值对记录进行分组,即该列值相等的记录为一个组,通常会在每组中使用分组函数进行汇总。统计

(2). having   在分组之后的结果集中筛选满足指定条件的组  必须与group by组合使用。

    Group function 组函数

        max,min,avg ,count,sum函数


  分组函数注意事项:

    1>.分组函数只能出现在所查询的列、order by子句、having子句中,不能出现在where子句和group by子句中

    2>.除了count(*)之外,其他分组函数,包括count(column_name),都会忽略用于分组的列的值为null的行

               count  返回记录行的行数

               select count(ename) from emp where deptno=10; count某个字段,如果这个字段不为空就算一个. 

    3>.如果所查询的列同时包含列、表达式、分组函数,那么这些列、表达式都必须出现在group by子句中。

    4>.在分组函数中可以指定all和distinct选项。其中,all是默认选项,表示该函数作用于所有的行(包括值重复的行)而distinct则只作用于不同的行。如count(distinct country_id)

       select count(distinct deptno) from emp;--统计共有多少种deptno

    5>.having子句只与组有关,where子句只与记录行有关,在having子句的后面只能使用分组函数本身,而不能使用列的别名 ,限制分组结果时,必须使用having子句 ,而不能在where子句中使用分组函数来限制分组结果(即where子句中不能使用分组函数 ),因为where子句是在进行分组处理之前过滤数据行,而having子句则是在分组处理之后才过滤数据组。

    6>. 求薪水值最高的人的名字.

       select ename,max(sal) from emp;出错,因为max只有一个值,但等于max值的人可能好几个,不能匹配.

       应如下求:

       select ename from emp where sal=(select max(sal) from emp);

       Group by语句应注意,

       出现在select中的字段,如果没出现在组函数中,必须出现在Group by语句中.

     7>. 组函数最多嵌套两层


(3) select 语句:

       1>.计算数据可以用空表:比如:.select 2*3 from dual

       2>.select ename,sal*12 annual_sal from emp;与select ename,sal*12 "annual sal" from emp;区别,加双引号保持原大小写。不加全变大写。在sql语句中加"  "可以保持你输入的格式不变


       3>. select ename || "abcd" 如果连接字符串中含有单引号,用两个单引号代替一个单引号。


 字符串连接:

 a.select region_id ||'是指'||region_name as 地区编码的意思 from regions  

 b. select ename||'sss' from emp;

   ||  连接字符串  ''中存放字符串  如果要想显示带有单引号的字段 ,可以这么写:

   select ename||'s''ss' from emp;

   

4>.  select ename from emp where ename like '%$%%' escape '$';

--选出ename中含有%的数据  $是自定义的转义字符 默认的是 \

5>.select ename, sal, hiredate from dmp where hiredate > '20-2月-81';

        --入职年份在81年2月20日之后的数据

select...from..where ...group by..having...order by...(执行的顺序:先取数据,取完数据进行过滤(where),过滤完了进行分组(group by),分组完了再对分组后的结果进行过滤(having),最后的结果进行排序(order by))

(4)distinct

        select deptno from emp;

        select distinct deptno from emp;

        select distinct deptno from emp;

        select distinct deptno ,job from emp

        去掉deptno,job两者组合的重复。更多的项,就是这么多项的组合的不重复组合。

(5)sql 函数:

单行函数:

select ename from emp where lower(ename) like '_a%';

--先将ename转化为小写,然后再选择其中第二个字母是a的数据  等价于:

--select ename from emp where ename like '_a%' or '_A%';

select substr(ename, 2, 3) from emp;

--截取ename所有的元素从第二个字母开始长度为3的字符串

select chr(65) from dual;

--chr()将ascII码转化为相应的字母

select ascii('A') from dual;

-- ascii() 将字母转化为相应的ascii码

select round(34.334) from dual;

--round() 读数据四舍五入(结果显示34)

select round(34.334,2) from dual;

--四舍五入到小数的第二位(显示结果为34.33)

round(34.334,-1) 

--显示结果为30

 select round(avg(sal),2) from emp;

           --结果:2073.21

转化数字的显示格式

select to_char(sal,'$99,999.999') from emp;

select to_char(avg(sal),'99999999,99') from emp;

--to_char() 将显示的结果显示为指定的格式 ,'$99,999.999'其中9代表一位数字 结果显示中如果相应位没有数字就不显示,有就显示,‘,’代表千位符 ‘.’ 代表小数点{显示结果举例:$1,600.000} 这种函数在对齐数据时非常有用

select to_char(sal,'L99,999.999') from emp;

--  结果格式为¥1,600.000   (L:代表本地符号)

select to_char(sal,'L00,000.000') from emp;

--将结果中相应位没有的数字补0 如¥01,600.0000

<对数字的转化非常的少用,因为这可以在java中处理>



转化日期的显示格式:

select to_char(hiredate,'YYYY-MM-DD HH:MI:SS') from emp;

--12小时格式

select to_char(hiredate,'YYYY-MM-DD HH24:MI:SS') from emp;

--小时数是24进制显示

select ename, hiredate from emp where hiredate > to_date('1981-2-20 12:34:45','YYYY-MM-DD HH:MI:SS');

--to_date(b,a)将b按照a的格式进行解析 即上句中将1981-2-20 12:34:45按照YYYY-MM-DD HH:MI:SS这种格式进行解析

select sal from emp where sal > to_number('$1,200.000','$9,999,999');

-- to_number(b,a) 将特定的字符串转换为相应格式的数字

处理空值:

select ename, sal*12+nvl(cumm,0) f rom emp;

--nvl(a,0)  如果a的值是空则用0代替它,否则用a的值进行计算

(6).Oracle表连接和子查询练习:

--求部门中哪些人的薪水最高:

select ename, sal from emp 

join (select max(sal) max_sal, deptno from emp group by deptno) t 

on(emp.sal =t.max_sal and emp.deptno = t.deptno);

--求部门平均薪水的等级:

select deptno, avg_sal, grade from

(select deptno, avg(sal) avg_sal from emp group by deptno) t

join salgrade s on (t.avg_sal between s.losal and s.hisal);

--求部门平均的薪水等级:

select deptno, avg(grade) from 

(select deptno, grade, sal from emp e join salgrade s on (e.sal between s.losal and hisal )) t 

group by deptno ;

--雇员中哪些是经理人:

select ename,job, mgr from emp where empno in (select distinct mgr from emp);

--不用组函数求薪水的最高值:(用自连接)

select sal from emp where sal not in ( select e1.sal from emp e1,emp e2 where e1.sal < e2.sal)

老师写的:select distinct sal from emp where sal not in ( select distinct e1.sal from emp e1 join emp e2 on ( e1.sal < e2.sal))

--求平均薪水最高的部门编号:

select deptno, avg_sal from

(select avg(sal) avg_sal, deptno from emp group by deptno)

where avg_sal=

(select max(avg_sal) max_val from

(select avg(sal) avg_sal, deptno from emp group by deptno))

-----------------------***********

组函数是可以嵌套的,但是最多嵌套两层 :

如上面的可以写成:

select deptno, avg_sal from

(select avg(sal) avg_sal, deptno from emp group by deptno)

where avg_sal=

(select max(avg(sal)) max_val from emp group by deptno)

----------------------------*********

--求平均薪水最高的部门名称:

select dname from dept d join

(

       (select avg(sal) avg_sal,deptno from emp group by deptno)

 where avg_sal =

      (select max(avg_sal) from

          (select avg(sal) avg_sal,deptno from emp group by deptno)

      )

) a on(d.deptno = a.deptno)

另一种写法:

select dname from dept where deptno=

(

 select deptno from

       (select avg(sal) avg_sal,deptno from emp group by deptno)

 where avg_sal =

      (select max(avg_sal) from

          (select avg(sal) avg_sal,deptno from emp group by deptno)

      )

)

--求平均薪水等级最低的部门名称:

select dname from dept where deptno =

(select deptno from 

 (select avg(sal) avg_sal,deptno from emp group by deptno) t

  join salgrade s on(t.avg_sal between s.losal and hisal)

where grade =

       (select min(grade) from

          (select avg(sal) avg_sal,deptno from emp group by deptno) t

join salgrade s on(t.avg_sal between s.losal and hisal)

       )

)

老师:

select dname,t1.deptno, grade avg_sal from 

 (

  select deptno,grade,avg_sal from 

     (select avg(sal) avg_sal,deptno from emp group by deptno) t

  join salgrade s on(t.avg_sal between s.losal and hisal)

  ) t1 

join dept on(t1.deptno = dept.deptno)

where t1.grade =

     (

         select min(grade) from

           (select avg(sal) avg_sal,deptno from emp group by deptno) t

          join salgrade s on(t.avg_sal between s.losal and hisal)  

         ) 

select dname,t1.deptno, grade avg_sal from 

(

  select deptno,grade,avg_sal from 

     (select avg(sal) avg_sal,deptno from emp group by deptno) t

  join salgrade s on(t.avg_sal between s.losal and hisal)

  ) t1 

join dept on(t1.deptno = dept.deptno)

where t1.grade =

     ( 

         select min(grade) from

           (

  select deptno,grade,avg_sal from 

     (select avg(sal) avg_sal,deptno from emp group by deptno) t

  join salgrade s on(t.avg_sal between s.losal and hisal)

  )

       )

       

       

多列子查询:

 查询公司中与employee_id=198 的雇员的工资、岗位都相同的员工的信息:

 select first_name,last_name ,salary,job_id

from employees 

where (salary,job_id) = (select salary,job_id 

                         from employees

                         where employee_id = 198)

                         

查询每个部门中最高工资的雇员信息:

select distinct department_id,

     (select max(salary) from employees b

       where b.department_id=a.department_id)  max_salary 

from employees a

order by department_id     

等价于:

select department_id,job_id,salary

           from employees a

           where salary=(select max(salary) from employees b

                          where b.department_id = a.department_id)

           order by department_id                     

                         

--求比普通员工的最高薪水还要高的经理人的名称:

select ename form emp

where empno in (select distinct mgr from emp where mgr is not null)

and

sal>

( 

  select max(sal) from emp whereempno not in 

     (select distinct mgr from emp where mgr is not null)

)


3.表的连接:

相等连接往往是通过主键、外键关系建立的,而不相等连接时相当的随意的,只要在数据类型上可以比较即可。

(1).自连接 (给自己起一个别名,当做两张表的链接):

     select e1.ename, e2.ename from emp e1,emp e2 where e.mgr = e2.empno;

(2).等值链接 :

select ename, dname from emp join dept on( emp.deptno = dept.deptno)

--等价于 select ename, dname from emp ,dept where emp.deptno = dept.deptno;(旧的语法)      新的语法通常在where中只写过滤条件

(3).非等值链接 :

slect ename,dname, grade from

     emp e join dept d on(e.deptno=d.deptno)

     join salgrade s on(e.sal between s.losal and s.hisal)

     where ename not like '_A%';

把每张表连接 条件不混在一起,然后数据过滤条件全部区分开来。读起来更清晰,更容易懂一点。

(4).外连接:

a.左外连接:会把左边这张表多余数据显示出来。

     select e1.ename,e2,ename from emp e1 left join emp e2 on(e1.mgr =e2.empno);left 后可加outer

     

b.右外连接:

   select ename,dname from emp e right outer join dept d on(e.deptno =d.deptno); outer可以取掉。

      

c.全外连接:既把左边多余数据,也把右边多余数据拿出来。

     select ename,dname from emp e full join dept d on(e.deptno =d.deptno);

     

      d.using 简化外连接:

select e.first_name,d.department_name from employees e

inner join departments d

using(department_id)

where e.employee_id=177

 注意:如果希望在所查询的列中包括用于连接的列,则只能使用该列的列名,如上例连接的department_id,在查询中只能用department_id 而不能用d.department_id;

     在using子句中的连接列前面也不能使用表明限定词即:不能用using(d.department_id)代替using(department_id)

4.集合查询:

 语法:

 select 语句1 

 [union all  | union  | minus  | intersect]

 select 语句2

 order by column_name

 union all: 返回两个结果集的所有的行,包括重复行 即并

 union    : 返回两个结果集的所有行, 不包括重复行 即并

 minus    : 返回第一个结果集中有但是第二个结果集中没有的行,即差

 intersect: 返回两个结果集中都有的行,即 交

 注意:a.两个结果集的列的名称可以不同,最后结果集中的列名采用的是第一个结果集中的列名称

       b.只能有一个order by子句,且只能出现在最后一个select 语句的最后面。 order by子句中只能使用第一个select 语句所查询列的列名或者别名,如果列名cc.与第二个select 语句的列名重复,则必须使用别名或列的次序号

       d.查询嵌套最多嵌套255层   

5.子查询:

(1).create table中使用子查询:

   create table

   emp(emp_id,f_name,h_date,sal,dept_id)

   as

   select employee_id,first_name,hire_date,salary,department_id

   from employees

   where department_id in (90,110)

   order by department_id,employee_id;


(2).create view 中使用子查询

首先 创建一个视图(create view V$(再加上你的视图名称)){权限不足时可这么做 conn sys/tiger as sysdba; 

grant create table,create view to scott}

 

create  or replace view v$dept_avg_sal_info as

select deptno,grade,avg_sal from 

     (select avg(sal) avg_sal,deptno from emp group by deptno) t

  join salgrade s on(t.avg_sal between s.losal and hisal)

select dname,t1.deptno, grade avg_sal from 

v$dept_avg_sal_info t1 

join dept on(t1.deptno = dept.deptno)

where t1.grade =

     ( 

         select min(grade) from

           v$dept_avg_sal_info

       )

       

(3).insert语句中使用子查询:

    insert into emp

    select employee_id,first_name,hire_date,salary,department_id

    from employees

    where department_id =20;

    如果要针对某些列插入数据,其完整语法如下:(一定要有主键列和not null列)

     insert into emp(employee_id,first_name,hire_date,salary,department_id)

    select employee_id,first_name,hire_date,salary,department_id

    from employees

    where department_id =20;


(4).delete语句中使用子查询:

    delete from emp

    where sal>(select avg(max_salary) from jobs);

(5).update语句中使用子查询:

    update emp

    set (h_date,sal)=

    (select h_date,sal from emp where emp_id = 205)

    where dept_id =20;

6.insert

   insert into table [column1,.....]  values ( value1,....)  

   如果数字为插入数据,可以直接提供数字数据;如果为字符列或者日期插入数据,则必须使用单引号。如果字符串中本来就有单引号,则要在其前面再加一个单引号如:“亚洲’asia”写成“亚洲‘’asia”。日期要符合默认的日期格式,否则用to_date函数进行格式转换

7.update

  update tablename

  set column1 = value1[,column2 = value2]

  [where condition]

  如果数字为更新数据,可以直接提供数字数据;如果为字符列或者日期更新数据,则必须使用单引号。如果字符串中本来就有单引号,则要在其前面再加一个单引号。

  日期要符合默认的日期格式,否则用to_date函数进行格式转换  

8.delete

  delete from tablename

  [where condition]

9.事务

  事务是用户定义的一组操作序列,由一条或多条相关的sql语句组成,是数据库应用程序的基本逻辑单位。一般来讲一个应用程序是由一个或多个事务组成的。事实上,事务中的sql语句仅限制于dml命令,而ddl和dcl语句是不能被回退的(即事务对其不起作用,他们会自动提交事务)  

 1>.commit   提交

 2>.rollback  回滚

 3>.savepoint 设置保存点

 4>.rollback to savepoint spname/rollback to spname   回滚到保存点

 5>.set transaction  设置事务的属性

                (1).set transaction read write

                用于设置可读写的事务。在这种事务中可以执行dml语句来更新数据。这是事务的默认设置。

                (2).set transaction read only

                用于设置只读事务,在只读事务中不能用dml语句来更新数据。可以将数据库“冻结”到该事务开始的那一点上,即查询到的是已经存在于数据库中的数据,即便在此同时其他事务更改并提交了数据库中的数据。

                (3).set transaction isolation level read committed

                用于设置“读已经提交事务”的隔离等级。在此隔离等级(默认的隔离等级)下,事务中每个dml语句所操作的数据,是在该语句开始之前已提交了的数据,它提供语句级的读一致性。

                (4).set transaction isolation level serializable

                用于设置"串行化事务”的隔离等级。在serializable隔离等级下,事务中每个dml语句所操作的数据,是在该事务开始之前已提交了的数据,并且可以执行dml语句来更新数据库中的数据,还可以查看到更新的结果。提供事务级的读一致性。

 6>.set constraints 设置可延迟约束的检验时机

 set constraints {constraints_name1[,constraints_name2].....|  all}

 {deferred | immediate};

 all 表示该事务所涉及的所有可以延迟的约束;immediate 表示在媒体dml语句之后就立即检验;deferred(默认选项)表示在提交事务的时候才检验。

 在创建表的时候就可以创建约束并指定是否可以用set constraints 语句进行延迟检验

 如:

  create table test (

 a   number not null,

 constraint pk_a primary key(a) validate,

 constraint ck_a check(a>0) deferrable initially immediate);

7>.事务的acid属性(atomicity[原子性]、consistency[一致性]、isolation[隔离性]、durability[持久性])

8>.在oracle中通过执行insert、update、delete语句修改数据时,oracle都会生成两种重要信息:undo和redo

  在数据库由于系统故障或错误而在事务执行期间崩溃之后,再次启动数据库时:smon后台进程就会根据undo信息(位于undo表空间中的数据文件)、redo信息(位于重做日志文件)负责对数据库进行恢复。

  在处理commit语句时,oracle会静重做日志缓冲区(在内存中)中的内容用lgwr后台进程写入重做日志文件(在外存或磁盘中)。

SQL优化之基于SQL特征的改写 前言 今天老K继续与大家分享第九期。 周末老K宅在家观战了两局精彩的“人狗”大战。老K既算不上科技迷,也算不上围棋迷,不过对此颇有感触:阿尔法狗不过是通过左右互博的方式不断学习围棋,然而依赖其最优的学习算法(学习方法)却能再短短的数月之内达到人类围棋水平的最顶端;而李世石在却是依赖其已有的经验结合人类特有的灵感下出“神之一手”,人类终究还是可以战胜拥 阅读详情

相关推荐

SQL入门前期准备 第一次接触SQL 第一次运行SQL代码 SQL编译环境 SQL新手

SQL(结构化查询语言)     一种数据库查询语言。用于读写数据库,客户机使用SQL语言读写服务器的数据库。 ★★SQL新手入门     安装:可以安装不同公司的产品,例如微软的SQL,甲骨文的orace1,IBM的DB2,我们以微软的sql server为例。                sql server有不同版本,例如sql server express with Tools版

jc271828c的专栏 1638

SQL解析利器General SQL Parser

最近发现一款很有意思的工具,名字叫GSP(全称General SQL Parser)。他是一款专业的SQL引擎,适用于各种数据库。

postnull的博客 2万+

基于AI大模型实现自然语言转SQL、SQL解释、SQL优化和SQL转换

自定义AI可以是用户自己部署的任意AI模型,例如ChatGLM、ChatGPT、文心一言、通义千问等等,但是自定义的接口输入和输出需要符合自定义的协议规范才可快速使用,否则可能需要二次开发。代码中提供了两个DEMO,只需要配置自定义AI接口地址,以及接口是否流式输出即可查看。具体使用中可以参考DEMO接口来编写自定义接口,或者直接在DEMO接口中进行二次开发,封装自己的自定义接口自定义的流式输出接口配置DEMO自定义的非流式输出接口配置DEMO。

AI天才研究院 1万+

SQL和T-SQL的区别

1、SQL           结构化查询语言(Structured Query Language) 简称SQL是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名 2、T-SQL           T-SQL 即 Transact-SQL,是 SQL 在 Microsoft SQL Server 上的增强...

qq_43551373的博客 8606

[ADS]单端电感和差分电感的感值和Q值计算公式

单端电感和差分电感的感值和Q值计算公式

乾巽的博客 1万+

差分放大电路的计算

反馈,对于运算放大电路来说,运放工作在线性区,所以这里一定是负反馈,没有反馈(开环)或者是正反馈,那是比较器电路而不是放大电路,这时候运放工作在饱和区或称为非线性工作区,正因为饱和,输出才是电源电压的幅值。图2是一种带正反馈的运放电路,这里就不能叫运算放大电路了,因为运放的开环放大倍数理想是无限大,当然实际中不可能无限大,所以如下结构是迟滞电压比较器,运放工作在非线性区或饱和区。实际应用电路中,我们为了简化计算,也是用最简方法计算,经常使用的电路也是上述电路,令电阻相等关系,简化计算。

qq_40170041的博客 351

oracle sql developer 执行sql语句,如何使用SQL Developer执行SQL语句(上)

本章摘自Murach的《Orcle SQL和PL/SQL》一书,描述了如何使用Oracle SQL Developer以及其它工具。在这一部分,我们将会学习如何使用SQL Developer来输入并执行SQL语句及脚本。如何使用摘录窗口,解决常见的语法错误等内容。在你回顾数据库设计的同时,SQL Developer还是一个很好的可输入并运行SQL语句的工具。在接下来的部分你将学习到。如何输入并执行...

weixin_39859988的博客 5266

从Maya到Unity:3D模型导入全流程避坑指南(含FBX导出设置)

本文详细解析了从Maya导出3D模型至Unity的全流程,重点剖析了FBX格式作为跨软件协作“中间人”的优劣与核心设置。指南涵盖了Maya端模型清理、FBX导出关键配置(如嵌入媒体、轴转换),以及Unity端的模型、材质、动画导入优化与常见问题(如材质丢失、UV法线错误、骨骼动画错乱)的实战解决方案,旨在帮助3D美术师与技术美术建立稳定、高效的工作流。

lg888的博客 790

动态sql与静态sql的区别

首先,所谓SQL的动态和静态,是指SQL语句在何时被编译和执行,二者都是用在SQL嵌入式编程中的,这里所说的嵌入式是指将SQL语句嵌入在高级语言中,而不是针对于单片机的那种嵌入式编程。 静态SQL,在编译阶段就可以确定数据库要做什么事情。在某种高级语言中,如果嵌入了SQL语句,而这个SQL语句的主体结构已经明确, 例如在Java的一段代码中有一个待执行的SQL“select * from t1 where c1>5”,在Java编译阶段,就可以将这段SQL交给数据库管理系统去分析,数据库软件可以对

songjuntao8的专栏 6004

解密GPT-5-Codex CLI安全最佳实践:从API Key保护到沙箱模式详解

本文深入解析GPT-5-Codex CLI在企业环境中的安全最佳实践,涵盖API Key全生命周期管理、沙箱模式配置及网络传输加固等核心防护策略。通过分层存储方案、动态环境变量加载和精细化权限设计,帮助开发团队构建企业级AI编程助手的安全防线,有效预防密钥泄露和未授权访问风险。

weixin_29309785的博客 585

基于 Datawhale 开源量化投资学习指南(10):基于 LightGBM 的量化选股

通过本篇文章,我们深入探索了如何运用 LightGBM 机器学习模型实现量化选股。首先,我们通过获取股票的历史数据,进行特征工程和标签制作,将选股问题转化为一个分类问题。接着,我们使用 LightGBM 训练模型,并在验证集和测试集中评估了模型的表现。该选股策略的核心在于结合机器学习算法,从历史数据中寻找能够捕捉股票短期涨跌的关键特征,从而为投资者提供辅助决策支持。虽然本文的模型取得了一定的效果,但这只是量化投资领域的一小部分。

不想宅的冷同学 1346

静态SQL与动态SQL的比较

静态SQL与动态SQL的比较

qq_43667184的博客 2021

基于MS5351的三通道可编程时钟发生器设计

时钟发生器是数字系统时序验证与信号完整性测试的核心基础设备,其原理基于锁相环(PLL)对参考晶振进行倍频与分频控制,通过寄存器配置实现多路独立频率输出。技术价值体现在高精度、低抖动、快速切换与工程可部署性之间取得平衡,尤其适用于FPGA/ASIC参考时钟调试、ADC/DAC采样时钟验证及嵌入式硬件时序裕量评估等场景。本方案采用MS5351三通道时钟芯片与ESP32主控协同架构,在保证LVCMOS输出质量与I²C可编程性的前提下,优化电源噪声抑制、晶体负载匹配和跨板信号完整性,兼顾成本、周期与实测稳定性,为实

weixin_31715353的博客 210

静态SQL和动态SQL

引言 SQL 语言作为标准的查询语言,几乎被所有的数据库管理系统 (DBMS) 所支持,并成为国际标准。标准的 SQL 语言一般包括三类,即 DDL (Data Definition Language, 数据描述语言 ) 、DML (Data Manipulation Language, 数据操纵语言 ) 和 DCL(Data Control Language,数据控制语言 )。通过这些标准

idber的学习笔记 1万+

实例讲解Simulink CAN通讯丢失故障判定模型搭建及仿真测试验证方法

本文通过ABS通讯丢失故障触发、判定条件Simulink模型的搭建和仿真的讲解,介绍了一种控制器CAN通讯丢失故障判定的方法和建模方法,希望能给相关技术人员带来一定参考和帮助。

qq_43011586的博客 3684

从AMBA到USB:手把手教你评估和选择Synopsys DesignWare里的免费商用IP

本文详细介绍了如何评估和选择Synopsys DesignWare中的免费商用IP,从AMBA到USB等关键模块。通过技术参数核对、验证环境评估和集成注意事项,帮助工程师高效利用这些经过硅验证的商业级IP,提升SoC设计效率。文章还探讨了免费IP与付费IP的边界策略,避免常见陷阱。

weixin_42683394的博客 295

【SQL】Sql Server SQL语句学习

1. 什么是SQL 什么是SQL(Structured Query Language)? SQL是结构化查询语言的缩写,用来访问和操作数据库系统。SQL语句既可以查询数据库中的数据,也可以添加、更新和删除数据库中的数据,还可以对数据库进行管理和维护操作。不同的数据库,都支持SQL,这样,我们通过学习SQL这一种语言,就可以操作各种不同的数据库。 虽然SQL已经被ANSI组织定义为标准,不幸地是,各...

2247

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

sql简介_SQL表简介

sql简介 在本文中,我们将学习SQL表的概念,然后研究如何在SQL Server中使用不同的技术创建表。 关系数据库模型是用于存储和处理数据的最常用的数据模型之一。 表是数据库的基本元素。 在这种情况下,表是在关系数据库中保存数据的数据库对象。 数据库包含一个或多个表,并且这些表可以建模为关系表。 这些表是由列组成的,每列都必须具有名称和数据类型。 这些列根据定义的数据类型存储数据,这些数...

culuo4781的博客 3874

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

动态sql与sql注入

在 Java 开发中,动态 SQL 和 SQL 注入如同孪生兄弟,常常同时出现在数据库操作的场景中。很多开发者对两者的关系存在误解,认为动态 SQL 就是为了解决 SQL 注入,或者使用动态 SQL 必然导致安全风险。本文将从 Java 开发视角,深入解析动态 SQL 的本质、SQL 注入的成因,以及如何在保证灵活性的同时构建安全的数据库访问层。

m0_62923286的博客 1767

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

SQL Server中的动态SQL

In this article, we will review how to construct and execute dynamic SQL statements in SQL Server with different examples. 在本文中,我们将通过不同的示例回顾如何在SQL Server中构造和执行动态SQL语句。 Dynamic SQL ...

culuo4781的博客 2899

SQL Server SQL脚本

本节的主要内容是要教大家怎么通过编写 SQL 脚本来查询、更新并且运行数据库。

unber的博客 4503

SQL高级知识:动态SQL

点击关注公众号,SQL干货及时获取后台回复:1024,获取海量学习资源SQL刷题专栏SQL145题系列在介绍动态SQL前我们先看看什么是静态SQL静态SQL静态 SQL 语句一般用于嵌入式 SQL 应用中,在程序运行前,SQL 语句必须是确定的,例如 SQL 语句中涉及的列名和表名必须是存在的。静态 SQL 语句的编译是在应用程序运行前进行的,编译的结果会存储在数据库内部。而后程序运行时,数据库将...

SQL数据库开发 1762

declare sql语句_SQL高级知识——动态SQL

在介绍动态SQL前我们先看看什么是静态SQL静态SQL静态 SQL 语句一般用于嵌入式 SQL 应用中,在程序运行前,SQL 语句必须是确定的,例如 SQL 语句中涉及的列名和表名必须是存在的。静态 SQL 语句的编译是在应用程序运行前进行的,编译的结果会存储在数据库内部。而后程序运行时,数据库将直接执行编译好的 SQL 语句,降低运行时的开销。动态SQL动态 SQL 语句是在应用程序运行时被编译...

weixin_39519741的博客 1326

Oracle - SQL调整顾问(SQL tuning advisor)、SQL访问顾问(SQL Access Advisor)

cache Manager 里面

LawssssCat的博客 1655

SQL、T-SQL与PL-SQL的区别

SQL是Structrued Query Language的缩写,即结构化查询语言。它是负责与ANSI(美国国家标准学会)维护的数据库交互的标准。作为关系数据库的标准语言,它已被众多商用DBMS产品所采用,使得它已成为关系数据库领域中一个主流语言,不仅包含数据查询功能,还包括插入、删除、更新和数据定义功能. T-SQL是SQL语言的一种版本,且只能在SQL SERVER上使用。它是A

Kong的博客 4974
上一篇: 数据字典
下一篇: oracle 小问题
afunti
博客等级 码龄17年 25粉丝 39原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值