sql
胡德刚
IT爱好者
展开
-
SQL的理解
1.什么是SQL? SQL指结构化查询语言; SQL使我们有能力访问数据库; SQL是一种ANSI的标准计算机语言;2.SQL能做什么? SQL面向数据库执行查询; SQL可以从数据库取回数据; SQL可在数据库中插入新的记录; SQL可更新数据库中的数据; SQL可从数据库删除记录; SQL可创建新数据库; SQL可在数据库中创建新原创 2015-11-12 11:32:22 · 280 阅读 · 0 评论 -
union、union all、select into
1、union操作符描述:union操作符用于合并两个或多个select语句的结果集。注意:union内部的select 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。原创 2015-12-01 16:30:31 · 2395 阅读 · 0 评论 -
in,Alias(as),join
1.in 操作符描述:in 操作符允许我们在where子句中规定多个值。语法: select * from 表名称 where 列名称 in(值1, 值2, ...)2.Alias(as) 别名描述:可以为列名称和表名称指定别名。语法:select 列名称 as 新列名称 from 表名称 as 新表名称原创 2015-11-16 09:55:35 · 566 阅读 · 0 评论 -
top
1.top子句描述:top子句用于规定要返回的记录的数目。对于拥有数千条记录的大型表来说,top子句是非常有用的。注释:并非所有的数据库系统都支持top子句。sql server的语法:select top number 列名称 from 表名称--显示前number条的数据扩展: select top 50 percent * from 表名称--显示所有数据原创 2015-11-13 16:10:34 · 276 阅读 · 0 评论 -
存储过程的学习(1)
存储过程的特点:1.存储过程是预编译过的,并且经过优化后存储于sql内存中,使用时无需再次编译,提高了工作效率。2.存储过程的代码直接存放于数据库中,一般有客户端直接通过存储过程的名字进行调用,减少了网络流量,加快了系统执行速度,例如在进行百万以上的大批量数据查询的时,使用存储过程分页要比其他方式分页要快得多。3.使用存储过程可以减少sql注入式攻击,提高了系统的安全性,执行存储过程的转载 2015-11-10 15:43:51 · 238 阅读 · 0 评论 -
Oracle的(+),||
一、特殊符号(+),在一次看以前代码的时候发现sql语句,的条件中出现了 where t.commodityid = tc.commodityid and t.commodityid = thq.commodityid(+),对应“(+)”是不清楚的,于是百度,并记录在这里: 描述:(+),可以代表Oracle的左外连接、和右外连接。操作符“(+)”需要注意以下几点:1.(+)操作原创 2015-11-02 16:10:40 · 908 阅读 · 0 评论 -
nvl与nvl2
我在数据库里面查询东西的时候,很多时候我们新增了字段后,那些老数据就为null,在查询的时候操作不是很方便。于是发现了nvl和nvl2函数可以让我真确的操作以前的数据。1.nvl语法:nvl(expr1,expr2);expr1:表达式,字段名,或者查询出来的一列的列名expr2:如果expr1的值为null,则返回expr2的值。如果expr1不为空,那么就返回expr1的值原创 2015-11-02 15:53:56 · 501 阅读 · 0 评论 -
replace、||、concat
1.replace函数语法:replace(a,b,c)a:将要更改的字符串b:被替换掉的字符串c:替换的字符串,可以为空,则是将b删除掉的操作。如列子:原创 2015-11-02 13:51:45 · 730 阅读 · 0 评论 -
sign、decode、numtodsinterval、numtoyminterval、substr
在一次写sql语句的时候,无法达到想要的效果,最后用sign函数和decode函数解决了。在这个过程中简单的学习了一下这两个函数,并总结如下:1.sign函数:比较大小的函数:函数语法sign(n)函数说明:取数字的符号,大于0返回1,小于0返回-1,等于0返回0可以用于两时间相减来比较大小。2.decode函数流程控制函数:decode函数是Oracle原创 2015-10-30 10:57:17 · 542 阅读 · 2 评论 -
Oracle日期时间函数大全
这个是我工作的时候设计后百度,发现这个网址记录的比较全面,觉得有必要向大家推荐一下:http://www.cnblogs.com/hanyun/archive/2012/04/28/2475642.html转载 2015-10-30 10:41:46 · 334 阅读 · 0 评论 -
oracle表里新增字段,和添加注释
1.在数据库表里添加字段: alter table 表名 add (字段名 字段类型,字段名 字段类型...); 2.给表添加注释: comment on table 表名 is ‘注释';3.给字段添加注释 comment on column 表名.字段 is '注释':原创 2015-10-19 15:25:10 · 9056 阅读 · 0 评论 -
Oracle TO_DATE 日期格式
Oracle中TO_DATE格式2009-04-14 10:53TO_DATE格式(以时间:2007-11-02 13:45:25为例) Year: yy two digits 两位年 显示值:07 yyy three digits 三位年 显示值:007转载 2015-12-10 16:58:17 · 334 阅读 · 0 评论 -
exists
1.exists();exists(select * from t1 where t1.字段=值)是否存在指定条件的记录.如果后面的SQL语句有选择到资料,则exists()函数返回true,否则返回false.用两个简单案例来说明“exists”和“in”的效率问题(1)select * from t1 where exists(select 1 from t2 wh原创 2016-03-07 13:54:00 · 1679 阅读 · 0 评论 -
oracle中的sql%rowcount,sql%found、sql%notfound、sql%rowcount和sql%isopen
Oracle 存储过程 删除表记录时删除不存在的记录也是显示删除成功create or replace procedure delDept(p_deptno in dept.deptno%type) isbegin delete from dept where deptno=p_deptno; dbms_output.put_line('部门删除成功...'); ex转载 2016-04-07 13:42:23 · 440 阅读 · 0 评论 -
oracle数值函数
今天在一个视图里面看见一个abs()函数,当时不知道是什么。后来百度并整理了一下。记录在下面:注意:只有第一个abs(number)函数,我是测试过的,就在描述的那样,其他都是在网上找的,正确性有待考察。记录的目的是为了以后我自己可以快速的查找。1、abs(number)描述:number为数值,返回数值的绝对值。案例:abs(6) 返回6,abs(-6)返回-6。2、ce原创 2016-04-13 09:58:05 · 475 阅读 · 0 评论 -
sql查询优化,判断数据库是否有数据
(1).select * from t;(2).select t.id from t;(3).select 1 from t;(4).select count(0) from t;在查询sql语句中,只做判断是否有数据的话,上面的这4中sql语句的速度的话是(1)>(2)>(3)>=(4)。什么情况下(3)=(4)的呢?在查询的结果只有一条数据的时候两者是相等的效率,当查询原创 2016-03-07 17:59:20 · 1816 阅读 · 1 评论 -
约束(constrain)
sql 约束约束用于限制加入表的数据的类型。可以在创建表时规定约束(通过 create table 语句),或者在表创建之后也可以(通过 alter table语句)。我们将主要探讨以下几种约束:1.not null ---------------不为null2.unique ---------------唯一约束3.primary key4.foreign key原创 2015-12-02 12:00:27 · 775 阅读 · 0 评论 -
约束2(constraints)
3.primary key 约束描述:primary key约束唯一标识数据库表中的每一条记录。主键必须包含唯一的值。主键列不能包含null值。每个表都应该有一个主键,并且每个表只能有一个主键。 新建表语法:数据库:Mysql:create table persons(id int not null,name varcher(255) not null,pr原创 2015-12-03 09:54:09 · 538 阅读 · 0 评论 -
SQL DML和DDL
可以把sql分为两部分:数据操作语言(DML)和 数据定义语言(DDL)。 sql(结构化查询语言)是用于执行查询的语法。但是sql语言也包含用于更新、插入和删除记录的语法。查询和更新指令构成了sql的dml部分: select-------从数据库表中获取数据 update------更新数据库表中的数据 delete-------从数据库表中删除数据 inse原创 2015-11-12 15:45:41 · 318 阅读 · 0 评论 -
and,or,order by
1.and 运算符描述:and可在where子语句中把两个或多个条件结合起来。语法: select 列名称 from 表名称 where 条件1 and 条件2 条件1和条件2都成立的情况下,记录才会被查询出来。2. or 运算符描述:or可在where子语句中把两个或多个条件结合起来。语法: select 列名称 from 表名称 where 条件1 or原创 2015-11-13 10:04:25 · 507 阅读 · 0 评论 -
insert into,update,delete
1.insert into 语句描述:insert into 语句用于向表格中插入新的行。语法: insert into 表名称 values (值1,值2,......) 我们也可以指定所要插入数据的列: insert into 表名称 (列1,列2,...) values (值1,值2,...)2.update 语句描述:update语句用于修改表中的数据。原创 2015-11-13 10:45:29 · 402 阅读 · 0 评论 -
select,distinct,where,betweent,like
1.select 语法: select 列名称 from 表名称; 或者: select * from 表名称;2.distinct 描述:在表中,可能会包含重复值。这并不成问题,不过,有时你也希望仅仅列出不同的值。关键词 distinct用于返回唯一不同的值。语法: select distinct 列名称 from 表名称;原创 2015-11-12 15:49:13 · 430 阅读 · 0 评论 -
sql 通配符
1.通配符。描述:在搜索数据库库中的数据时,sql通配符可以替换一个或多个字符。注意:sql通配符必须与like 运算符一起使用。通配符|描述--------------------|----------------%|替代一个或多个字符-|仅替代一个字符[charlist]|字符列中的任何单一字符[^charlist]或者[!charlist]|不在字符中的任何单原创 2015-11-16 09:25:46 · 325 阅读 · 0 评论 -
create database,create table,
1.create database语句描述:create database用于创建数据库。语法:create database 数据库名称;2.create table语句描述:create table 语句用于创建数据库中的表.语法:create table 表名称(列名称1 数据类型,列名称2 数据类型,列名称3 数据类型,...)数据类原创 2015-12-02 09:50:12 · 617 阅读 · 0 评论 -
约束4(constraints)
5.check约束(条件约束)描述:check约束用于限制列中的值的范围。如果对单个列定义check约束,那么该列只允许特定的值。如果对一个表定义check约束,那么此约束会在特定的列中对值进行限制。 数据库:My SQL语法:create table persons(id int not null,name varchar(255) not null,原创 2015-12-03 16:10:53 · 449 阅读 · 0 评论 -
sql null
null 值是遗漏的未知数据。默认地,表的列可以存放null值。is null 和is not null操作符。sql null值如果表中的原创 2016-01-25 13:35:16 · 316 阅读 · 0 评论 -
sql view(视图)
1.sql create view 语句描述:1)、什么是视图?在sql中,视图是基于sql语句的结果集的可视化的表。视图包含行和列,就像一个真实的表。视图中的字段就是来自一个或多个数据库中的真实的表中的字段。我们可以向视图添加sql函数、where已经join语句,我们也可以提交数据,就像这些来自某个单一的表。注释:数据库的设计和结构不会受到视图中的函数、where或join语句原创 2016-01-04 13:52:47 · 418 阅读 · 0 评论 -
auto increment
1.auto increment字段描述:我们通常希望在每次插入新记录的时候,自动地创建主键字段的值。我们可以在表中创建一个auto-increment字段。1)、MySQL的语法:create table persons(id int not null auto_increment,name varchar(255) not null,primary key(id)原创 2015-12-09 10:22:15 · 801 阅读 · 0 评论 -
Alter table
1.allter table语句描述:alter table语句用于在已有的表中添加、修改或者删除列、1)、表中添加列,语法alter table table_name add column_name datatype注释:table_name 表名 column_name 列名 datatype 新增列的类型2)、删除表中列的语法:alter table table_na原创 2015-12-09 09:48:14 · 327 阅读 · 0 评论 -
sql 撤销索引、表已经数据库(drop)、清除表数据(truncate table)
1.drop语句描述:通过使用drop语句,可以轻松地删除索引、表和数据库。1)、用drop index删除表格中的索引数据库:Microsoft SQLJet(以及Microsoft Access)的语法:drop index index_name on table_name注释: index_name 索引名称 ,table_name 表名称数据库:MS SQLServ原创 2015-12-08 17:55:04 · 1485 阅读 · 0 评论 -
create index
1.create index语句描述:create index语句用于在表中创建索引。在不读取整个表的情况下,索引使数据库应用程序可以更快速地查找数据。对索引描述:表中创建索引,以便更快速高效地查询数据。用户无法看到索引,它们只能被用来加速搜索/查询。注释:更新一个包含索引的表需要比更新一个没有索引的表更多的时间,这是由于索引本身需要更新。因此,理想的做法是仅仅在常常被搜索的列(以原创 2015-12-08 16:04:32 · 604 阅读 · 0 评论 -
约束5(constraints)
6.default 约束描述:default约束用于向列中插入默认值。如果没有规定其他的值,那么会将默认值添加到所有的新记录。数据库:MySQL/SQL Server/Oracle/MS Access:create table persons(id int not null,name varchar(255) not null,address varchar(255原创 2015-12-03 17:24:09 · 436 阅读 · 0 评论 -
约束3(constrains)
4.foreign key约束描述:一个表中foreign key指向另一个表中的primary key。(外键)foreign key约束用于预防破坏表之间连接的动作。foreign key约束也能防止非法数据插入外键列,因为它必须指向的那个表中的值之一。原创 2015-12-03 10:24:31 · 1244 阅读 · 0 评论 -
Oracle trunc()函数的用法
今天在Oracle数据库的一个函数中看见trunc()函数。于是百度一下。并记录他的方法,便于以后使用到的时候查看。这里并没有整理这个函数的原来,简单的记录了一下使用方式。一、trunc( )日期1.select trunc(sysdate) from dual; --2016-5-3 今天日期为2016-5-32.select trunc(sysdate,'mm') fr原创 2016-05-03 16:35:38 · 600 阅读 · 0 评论