sql语言

mybatis 动态SQL

吃可爱长大的小学妹 提交于 2020-02-28 02:15:32
动态SQL 官方文档 介绍 什么是动态SQL: 动态SQL指的是根据不同的查询条件 , 生成不同的Sql语句. 官网描述: MyBatis 的强大特性之一便是它的动态 SQL。如果你有使用 JDBC 或其它类似框架的经验,你就能体会到根据不同条件拼接 SQL 语句的痛苦。例如拼接时要确保不能忘记添加必要的空格,还要注意去掉列表最后一个列名的逗号。利用动态 SQL 这一特性可以彻底摆脱这种痛苦。 虽然在以前使用动态 SQL 并非一件易事,但正是 MyBatis 提供了可以被用在任意 SQL 映射语句中的强大的动态 SQL 语言得以改进这种情形。 动态 SQL 元素和 JSTL 或基于类似 XML 的文本处理器相似。在 MyBatis 之前的版本中,有很多元素需要花时间了解。MyBatis 3 大大精简了元素种类,现在只需学习原来一半的元素便可。MyBatis 采用功能强大的基于 OGNL 的表达式来淘汰其它大部分元素。 ------------------------------- - if - choose (when, otherwise) - trim (where, set) - foreach ------------------------------- ​ 我们之前写的 SQL 语句都比较简单,如果有比较复杂的业务,我们需要写复杂的 SQL 语句,往往需要拼接,而拼接

猴子都能懂的数据库避坑指南

你离开我真会死。 提交于 2020-02-27 23:41:42
前言 工作的这些年发现一个比较奇怪的现象就是身边无论是工作十多年的老兵,还是初级刚入行的程序员,在高谈阔论技术和趋势的时候都是人工智能,大数据,区块链,各种框架,语言,算法,AI,BI,CI,DI…… 等等,倒是发现很少有人关注数据库,不知道是因为数据库感觉太低端还是太低调,总是不容易被人提起 技术就是这样,不太关注的地方就不会重视,越是不被重视的地方,掉进坑里的概率就会越大,所以就在这里给大家简单聊聊在使用数据库过程中有哪些防掉坑指南,也可以对刚入行的小朋友有一个提醒的作用,万丈高楼平地起,一定要先打好基础再去考虑上层的建筑,不要舍本逐末 本章主要分以下四个小节(预计读完 5 分钟左右): 数据库为什么重要 数据库有哪些使用技巧 数据库有哪些容易掉进去的坑? 深入学习数据库的建议 数据库为什么重要 很多人在开发过程中不太关注数据库,对于表结构的设计也没什么讲究大多属于“能用就行”,但是根据作者将近十年的开发经验来看的话,只要你是从事 Web 相关领域开发你就无法避免不和数据库打交道, 在Web开发中大多功能操作本质上都是对数据库进行操作 ,不管你用是 Pythod,Java,Ruby 等语言进行 Web 开发,你其实都是在面向数据库进行编程,很多 Web 框架作者为了避免程序员接触数据库的相关知识甚至还封装了一层 ORM (Object Relational Mapping

Oracle实战笔记(第六天)之PL/SQL基础

╄→гoц情女王★ 提交于 2020-02-27 12:28:27
一、PL/SQL介绍   1、概念    PL/SQL也是一种程序语言,叫做过程化SQL语言(Procedural Language/SQL)。PL/SQL是Oracle数据库对SQL语句的 扩展 。在普通SQL语句的使用上 增加了编程语言的特点 ,所以PL/SQL可以用来编写存储过程、存储函数、触发器等等。 PL/SQL是结构化SQL,就是在标准SQL中加入了IF...ELSE... For....等控制过程的SQL。   2、学习必要性 提高程序的运行性能 传统的使用程序操作数据库的方式需要获得connection,然后程序传到数据库后还需要进行编译才能执行,而且执行结果还需要回调,这些过程都需要花费时间。而PL/SQL编程可以直接进行过程编程,这就节省了数据连接、语句传送和编译的时间,同时编程结果可以被外部程序调用。 模块化的设计思想 很多复杂的过程都需要传送和执行大量的sql语句,比如分页的过程、实现订单的过程、转账的过程等等,这些过程就可以通过PL/SQL进行模块化整理进而方便管理。 减少网络传输量 提高安全性   PL/SQL的缺点在于移植性不好,如果项目不再使用Oracle来管理数据,那么需要重新编写语句。 二、开发工具   1、Oracle自带的命令行工具sql*plus    下面举一个运用PL/SQL语句的案列:编写一个存储过程,并执行。   简单说一下,

oracle基础学习

吃可爱长大的小学妹 提交于 2020-02-27 08:18:22
1.desc table_name 可以查询表的结构 2.怎么获取有哪些用户在使用数据库 select username from v$session; 3.如何在Oracle服务器上通过SQLPLUS查看本机IP地址 ? select sys_context('userenv','ip_address') from dual; 如果是登陆本机数据库,只能返回127.0.0.1 4.如何给表、列加注释? SQL>comment on table 表 is '表注释'; 注释已创建 SQL>comment on column 表.列 is '列注释'; 注释已创建。 SQL> select * from user_tab_comments where comments is not null; 5.如何在ORACLE中取毫秒? select systimestamp from dual; 6.如何在字符串里加回车? 添加一个||chr(10) select 'Welcome to visit'||chr(10)||'www.CSDN.NET' from dual ; 7.怎样修改oracel数据库的默认日期? alter session set nls_date_format='yyyymmddhh24miss'; 8.怎么可以看到数据库有多少个tablespace? select

RazorSQL for Mac(数据库工具查询) v9.0.5

≯℡__Kan透↙ 提交于 2020-02-27 03:01:57
RazorSQL Mac激活版是一款专门为mac用户推出的数据库管理软件,允许您从一个数据库工具查询,更新,导航和管理所有主要数据库,RazorSQL Mac激活版下载功能强大还支持SQL的编辑、数据库管理工具,支持多种数据库! RazorSQL for Mac https://www.macdown.com/mac/832.html RazorSQL 是一个非开源的功能非常强大数据库查询工具、SQL的编辑、数据库管理工具。支持通过 JDBC 和 ODBC 连接超过 29 种的数据库。 数据定义:这一部分又称为“SQL DDL”,定义数据库的逻辑结构,包括定义数据库、基本表、视图和索引4部分。 数据操纵:这一部分又称为“SQL DML”,其中包括数据查询和数据更新两大类操作,其中数据更新又包括插入、删除和更新三种操作。 数据控制:对用户访问数据的控制有基本表和视图的授权、完整性规则的描述,事务控制语句等。 嵌入式SQL语言的使用规定:规定SQL语句在宿主语言的程序中使用的规则。 razorsql mac版功能简介 1、用于浏览数据库对象的数据库导航器。 2、 用于创建SQL查询的SQL编辑器。 3、 用于创建,编辑,删除,描述,更改和查看表格,视图,索引和序列的可视化工具 4、 Visual Tools用于创建,编辑,删除和执行存储过程,函数和触发器 5、 强大的编程编辑器

【6.0】SQL基础----1 DDL语句【数据定义语言】

筅森魡賤 提交于 2020-02-26 22:56:07
SQL 分类 SQL 语句主要可以划分为以下3 个类别: DDL(Data Definition Languages)语句:数据定义语言,这些语句定义了不同的数据段、 数据库、表、列、索引等数据库对象的定义。常用的语句关键字主要包括 create、drop、alter 等。 DML(Data Manipulation Language)语句:数据操纵语句,用于添加、删除、更新和查 询数据库记录,并检查数据完整性,常用的语句关键字主要包括 insert、delete、udpate 和 select 等。 DCL(Data Control Language)语句:数据控制语句,用于控制不同数据段直接的许可和 访问级别的语句。这些语句定义了数据库、表、字段、用户的访问权限和安全级别。主要的 语句关键字包括 grant、revoke 等。 1 DDL语句【数据定义语言】: 1.1 创建数据库 语句:create database if not exists 数据库名; 备注:每个数据库默认有一个数据库字符集和一个数据校验规则,不能缺少。 例子: 查看所有数据库: 1.2 修改数据库名称和字符集   1 修改数据库名称: 如果存储引擎是InnoDB,是无法修改数据库名称的 。其他引擎怎么修改数据库名称,再查; 2 修改数据库字符集:     语句:alter database 数据库名

春眠不觉晓,SQL 知多少?

纵饮孤独 提交于 2020-02-26 22:16:48
文章目录 SQL 的诞生 SQL 标准化 SQL:2019 SQL:2016 SQL:2011 SQL:2008 SQL:2006 SQL:2003 SQL:1999 SQL-92 语言特性 语句分类 SQL 实现 NewSQL SQL 的诞生 一九七九年,那是一个夏天。 有一位来自 IBM 圣约瑟研究实验室的高级研究员 Edgar Frank Codd 在 Communications of ACM 上发表了名为《 A Relational Model of Data for Large Shared Data Banks 》的文章,从而创建了关系数据模型。时至今日,基于该模型的关系数据库仍然是数据库领域的主流;数据库排名网站 DB-Engines 给出了各类数据库的排名。 Codd 也因此在 1981 年获得了计算机领域最高奖图灵奖,被人们称为关系数据库之父。 1974 年,同样是来自 IBM 的 Donald D. Chamberlin 和 Raymond F. Boyce 基于关系模型开发了 SQL 的初始版本:SEQUEL(Structured English Query Language)。SEQUEL 被设计用于 IBM 最初的准关系数据库管理系统 SystemR。IBM 随后基于其 SystemR 原型开发商业产品,分别于 1979 年、1981 年和 1983

数据库第三章总结

99封情书 提交于 2020-02-26 18:44:11
SQL语言概览 SQL标准符合度分为四个等级: Entry leve SQL Transitional SQL Intermediate SQL Full SQL SQL-99、SQL-92支持四个等级的四个标准 没有DBMS实现全部SQL标准(出于安全性等考虑) SQL语言分为 DDL:   ——create table, alter table,drop table   ——create index,drop index   ——create view, drop view   ——create trigg,drop trigger   ……各种create DML:   ——selec …… from   ——insert, delete, update DCL:   ——grant,revoke SQL用语言数据定义 回忆: super-key candidate key primary key   SQL例子: CREATE TABLE instructor ( ID char(5), name varchar(20) not null, dept_name varchar(20), salary numeric(8,2) primary key (ID) );   PS: char 类型会自动补空格,varchar不会     not null 不能位空

SQL回顾

筅森魡賤 提交于 2020-02-26 07:29:44
数据库的本质是一种特殊的文件 数据库是由数据表组成的,数据表是真正存储数据的 数据库客户端-->SQL语句-->数据库服务器-->数据库文件 表与表之间存在关联的数据库称为关系型数据库 (sql-server my-sql(5.1, 5.6, 5.7) Oracle(10g, 11g) db2) 非关系型数据库(mongodb redis) 唯一的标识一行信息的特殊的列 主键(primary key)不允许重复,不允许为空 当前表中的某个字段来自与另一张表中的主键的值,那么这个字段称之为 外键(foreign key) 列 字段 同一类的信息 行 记录 对象的详细信息 记录的集合组成数据表,数据表的集合组成数据库文件 DQL 数据查询语言 select DML 数据操作语言 insert, update, delete DDL 数据定义语言 create, drop 数据库服务端的安装 sudo apt-get install mysql 数据库客户端的安装 sudo apt-get install mysql-client 将程序的一些配置 写到配置文件中 修改的时候不用修改程序只需要修改配置文件即可(可以更好地保护程序源码) decimal() 占5位小数占2位 enum("情况1","情况2",..) 把所有可能出现的情况都列举出来 体积比较大的文件不存在数据库中

C#等效于SQL Server数据类型

好久不见. 提交于 2020-02-25 22:57:38
对于以下SQL Server数据类型,C#中对应的数据类型是什么? 精确数值 bigint numeric bit smallint decimal smallmoney int tinyint money 近似数值 float real 日期和时间 date datetimeoffset datetime2 smalldatetime datetime time 字符串 char varchar text Unicode字符串 nchar nvarchar ntext 二进制字符串 binary varbinary image 其他数据类型 cursor timestamp hierarchyid uniqueidentifier sql_variant xml table (来源: MSDN ) #1楼 SQL Server和.NET Framework基于不同的类型系统。 例如,.NET Framework十进制结构的最大比例为28,而SQL Server十进制和数字数据类型的最大比例为38。单击此处 是链接 ! 详细 https://msdn.microsoft.com/zh-CN/library/cc716729(v=vs.110).aspx #2楼 SQL Server和.Net数据类型映射 #3楼 万一有人在寻找将C#和SQL Server格式转换的方法