SQL
&程序人生
代码人生,敲出未来!
展开
-
MySQL数据库开发规范
配置规范(1)MySQL数据库默认使用InnoDB存储引擎,如无特殊需求,请选择使用InnoDB存储引擎。(2)保证字符集设置统一,MySQL数据库相关系统、数据库、表的字符集都使用UTF8,应用程序里连接、展示等可以设置字符集的地方也都统一设置为UTF8字符集。注:UTF8格式是存储不了表情类数据,需要使用UTF8MB4,可在MySQL字符集里面设置;在MySQL8.0中已默认为UTF8MB4,可以根据公司的业务情况进行统一或者定制化设置。(3)MySQL数据库的事务隔离级别默认...原创 2021-09-01 08:39:04 · 140 阅读 · 0 评论 -
SQL时间函数
昨天 SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ) - TO_DAYS( 时间字段名) <= 1 7天 SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(时间字段名) 近30天 SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 30 DAY) <= date(时间字段名) 本月SEL...原创 2021-08-30 13:18:50 · 438 阅读 · 0 评论 -
几个删除重复记录的SQL语句
比如现在有一人员表 (表名:peosons)若想将姓名、身份证号、住址这三个字段完全相同的记录查询出来 select p1.* from persons p1,persons p2 where p1.id<>p2.id and p1.cardid = p2.cardid and p1.pname = p2.pname and原创 2012-10-07 09:59:28 · 553 阅读 · 0 评论 -
一些经常用到的SQL语句
1、查看表空间的名称及大小 select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_size from dba_tablespaces t, dba_data_files d where t.tablespace_name = d.tablespace_name group by t.tablespa原创 2012-10-07 10:01:28 · 495 阅读 · 0 评论 -
存储过程与函数的区别
1. 一般来说,存储过程实现的功能要复杂一点,而函数的实现的功能针对性比较强。 2. 对于存储过程来说可以返回参数,而函数只能返回值或者表对象。 3. 存储过程一般是作为一个独立的部分来执行,而函数可以作为查询语句的一个部分来调用,由于函数可以返回一个表对象,因此它可以在查询语句中位于FROM关键字的后面。4. 当存储过程和函数被执行的时候,SQL Manager会到procedu原创 2012-10-08 08:41:42 · 331 阅读 · 0 评论 -
SQL Server T-SQL高级查询
SQL Server T-SQL高级查询高级查询在数据库中用得是最频繁的,也是应用最广泛的。 Ø 基本常用查询 --selectselect * from student; --all 查询所有select all sex from student; --distinct 过滤重复select distinct sex from student;原创 2012-10-07 09:45:36 · 836 阅读 · 0 评论 -
SQL一些常用的函数
1.字符串函数长度与分析用 datalength(Char_expr) 返回字符串包含字符数,但不包含后面的空格 substring(expression,start,length) 不多说了,取子串 right(char_expr,int_expr) 返回字符串右边int_expr个字符 字符操作类 upper(char_expr) 转为大写原创 2012-10-08 08:40:28 · 306 阅读 · 0 评论 -
SQL Server SQL高级查询语句小结
Ø 基本常用查询 --select select * from student; --all 查询所有 select all sex from student; --distinct 过滤重复 select distinct sex from student; --count 统计 select count(*) from student; select cou原创 2012-10-30 12:47:30 · 517 阅读 · 0 评论 -
SELECT INTO 和 INSERT INTO SELECT 两种表复制语句
Insert是T-sql中常用语句,Insert INTO table(field1,field2,...) values(value1,value2,...)这种形式的在应用程序开发中必不可少。但我们在开发、测试过程中,经常会遇到需要表复制的情况,如将一个table1的数据的部分字段复制到table2中,或者将整个table1复制到table2中,这时候我们就要使用SELECT INTO 和 I原创 2012-10-26 20:39:05 · 463 阅读 · 0 评论 -
细节决定成败
今天改写一个查询,中间有用到Union All,之前只知道用它多个查询的字段相同,添加一个新的字段后,保存,但取出来的值怎么也不同我查询中的相同。搞了N久才发现原来。使用这个命令还要注意位置,不然它会把不对应的字段相结合。后来想想也是有时候不须要值时给它一个空值都可以通过。所以只要类型不冲突的时候都能正常通过。原创 2012-10-26 20:45:37 · 384 阅读 · 0 评论 -
Oracle优化语句
在开发后台程序中,怎么样优化你的SQL语句使得你的后台程序能达到高效的目的,当然通过搜索这类相关文章有很多很多,这里本人写的是通过项目中总结出的十大主要SQL性能优化,希望在开发中能给大家一定的参考。 下面的实例中使用3个表 (TABLE) A(R1,R2,R3,R4,R5,C1,C2,B2) B(R1,B1,B2) C(R1,C1,C2,B2),括号中即为表中的字段。原创 2012-12-10 15:56:40 · 341 阅读 · 0 评论 -
SQL面试题大全
SQL面试题Sql常用语法下列语句部分是Mssql语句,不可以在access中使用。SQL分类:DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE)DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT)DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK)首先,简要介绍基础语句:1、说明原创 2012-10-07 09:24:07 · 2086 阅读 · 0 评论 -
SQL注入漏洞攻击
SQL注入漏洞攻击登陆判断:select count(*) from Login where UserName=… and Password=…,将参数拼到SQL语句中。构造恶意的Password:1‘ or ’1‘=’1Int result=cmd.ExecuteScalar();If(result>0){Response.Redirect(“Welcome.aspx”)原创 2012-10-06 22:33:16 · 593 阅读 · 0 评论 -
数字转成大写的存储过程
CREATE FUNCTION [dbo].[fun_currencyENG] (@num numeric(15,2))RETURNS varchar(400) ASBEGIN DECLARE @i int,@hundreds int,@tenth int,@one int DECLARE @thousand int,@million int,@billion int原创 2012-10-05 09:19:10 · 400 阅读 · 0 评论 -
SQL知识
在SQL Server中,帐号有两种,一种是登录服务器的登录帐号(login name),另一种是使用数据库的用户帐号(user name)。登录帐号只是让用户登录到SQL Server中,登录名本身并不能让用户访问服务器中的数据库。要访问特定的数据库,还必须具有用户名SQL语言包含4个部分: ※ 数据定义语言(DDL),例如:CREATE、DROP、ALTER等语句。 ※ 数原创 2012-10-05 09:27:07 · 289 阅读 · 0 评论 -
SQL触发器实例
SQL触发器实例1定义:何为触发器?在SQL Server里面也就是对某一个表的一定操作,触发某种条件,从而执行的一段程序。触发器是一个特殊的存储过程。常见的触发器有三种,分别应用于Insert,Update,Delete事件。Create Table Student( StudentID int primary key, studentName nva原创 2012-10-05 09:28:38 · 327 阅读 · 0 评论 -
sql面试题目汇总(2)
在面试过程中多次碰到两道SQL查询的题目,一是查询A(ID,Name)表中第31至40条记录,ID作为主键可能是不是连续增长的列,完整的查询语句如下:select top 10 * from A where ID >(select max(ID) from (select top 30 ID from A order by A ) T) order by A另外一道题目的要求是查询表A原创 2012-10-05 08:58:23 · 454 阅读 · 0 评论 -
Oracle优化语句
在开发后台程序中,怎么样优化你的SQL语句使得你的后台程序能达到高效的目的,当然通过搜索这类相关文章有很多很多,这里本人写的是通过项目中总结出的十大主要SQL性能优化,希望在开发中能给大家一定的参考。 下面的实例中使用3个表 (TABLE) A(R1,R2,R3,R4,R5,C1,C2,B2) B(R1,B1,B2) C(R1,C1,C2,B2),括号中即为表中的字段。原创 2012-10-05 09:15:51 · 434 阅读 · 0 评论 -
修复数据库置疑的语法
SP_configure 'allow update',1 go RECONFIGURE WITH OVERRIDE go update sysdatabases set status=-32768 where name='zmsoftpos_cs'--数据库名称 go dbcc rebuild_log('zmsoftpos_cs','D:\zmsoftpos_cs原创 2012-10-06 10:33:16 · 462 阅读 · 0 评论 -
sql面试题目汇总(1)
1.触发器的作用? 答:触发器是一中特殊的存储过程,主要是通过事件来触发而被执行的。它可以强化约束,来维护数据的完整性和一致性,可以跟踪数据库内的操作从而不允许未经许可的更新和变化。可以联级运算。如,某表上的触发器上包含对另一个表的数据操作,而该操作又会导致该表触发器被触发。2。什么是存储过程?用什么来调用?答:存储过程是一个预编译的SQL语句,优点是允许模块化的设计,就是说只需创原创 2012-10-05 08:55:57 · 513 阅读 · 0 评论 -
数字转成英文的存储过程
CREATE FUNCTION [dbo].[F__NumberChangeIntoEnglishUpperCase](@num numeric(18,4))returns varchar(400) --with encryptionasbegin --declare @num numeric(17, 4) --支持到千亿计数,保留四位小数 declare @i int原创 2012-10-05 09:20:20 · 556 阅读 · 0 评论 -
Oracle基本语法
1.基本结构 CREATE OR REPLACE PROCEDURE 存储过程名字( 参数1 IN NUMBER, 参数2 IN NUMBER) IS变量1 INTEGER :=0;变量2 DATE;BEGINEND 存储过程名字2.SELECT INTO STATEMENT 将select查询的结果存入到变量中,可以同时将多个列存储多个变原创 2012-10-06 10:16:28 · 348 阅读 · 0 评论 -
SQL SERVER2000 中的时间与日期函数
1. 当前系统日期、时间 select getdate() 2. dateadd 在向指定日期加上一段时间的基础上,返回新的 datetime 值例如:向日期加上2天 select dateadd(day,2,'2004-10-15') --返回:2004-10-17 00:00:00.0003. datediff 返回跨两个指定日期的日期和时间边界数。select dat原创 2012-10-06 10:24:19 · 1661 阅读 · 0 评论 -
通用的分页存储过程
CREATE PROCEDURE SP_CustomPage( @tbname nvarchar(100), --要分页显示的表名 @FieldKey nvarchar(1000), --用于定位记录的主键(惟一键)字段,可以是逗号分隔的多个字段 @PageCurrent int=1, --要显示的页码 @PageSize int=10, --每页的大小原创 2012-10-05 09:13:41 · 280 阅读 · 0 评论