我的sql 记录

----------2017-01-03 21:56:56----------
--字符串分隔 start-------------
use LDSQL
GO
 CREATE function [dbo].[split]
(
 @str varchar(4500),
 @sep varchar(1)
)
returns @t  table(id int identity(1,1),col   varchar(4500))
as
begin
--分别定义了 目前位置,分隔符开始和字符串长度和,当前获取的字符串
declare @posi int,@start int,@str_leg int,@gchar varchar(2),@mingzhong int
set @str_leg=len(@str)
set @posi=0
set @start=0
set @mingzhong=0
while(@posi<=@str_leg)
    begin
    set @gchar=substring(@str,@posi,1)
     if(@gchar=@sep)
         begin
             insert into @t  values(substring(@str,@start+1,@posi-@start-1))
             set @start=@posi
         end
      set @posi=@posi+1
     end
 return
end
Go
---------调用eg
select * from split(‘1,2,3,4‘,‘,‘)
--字符串分隔 end-------------

use LDSQL
----创建库 start
create database LDSQL1
on  primary  -- 默认就属于primary文件组,可省略
(
/*--数据文件的具体描述--*/
    name=‘LDSQL_data‘,  -- 主数据文件的逻辑名称
    filename=‘D:\LDSQL_data.mdf‘, -- 主数据文件的物理名称
    size=5mb, --主数据文件的初始大小
    maxsize=100mb, -- 主数据文件增长的最大值
    filegrowth=15%--主数据文件的增长率
)
log on
(
/*--日志文件的具体描述,各参数含义同上--*/
    name=‘LDSQL_log‘,
    filename=‘D:\LDSQL_log.ldf‘,
    size=2mb,
    filegrowth=1mb
)
----创建库 end 

---删库 start
use master -- 设置当前数据库为master,以便访问sysdatabases表
go
if exists(select * from sysdatabases where name=‘LDSQL1‘)
drop database LDSQL1
go
---删库end
--创建表start
use LDSQL
go
if exists(select * from sysobjects where name=‘userinfo‘)
drop table userinfo
create table userinfo
(
    id        int     identity(1,1) primary key,
    name     char(6) ,
    age       char(4)    ,
    address   nvarchar(50)
)

alter table userinfo add time1 datetime         --添加字段
alter table userinfo add timestamp nvarchar(50) --添加字段
alter table userinfo add remark nvarchar(50)    --添加字段
ALTER TABLE userinfo DROP COLUMN remark         --删除字段
go
--alter table 表名
--add constraint 约束名 约束类型 具体的约束说明
--alter table 表名
--drop constraint 约束名
--alter table stuMarks
--add constraint UQ_stuNo Unique(stuNo)
--alter table stuMarks
--drop constraint UQ_stuNo
--创建表end 

--插入数据 start
  insert into userinfo(name, age, address)  values(‘张三‘,20,‘湖南‘)
   Go
   --插入多条
   declare @i int
   set @i=1;
   while @i<101
   begin
     insert into userinfo(name, age, address,time1) values(‘张三‘,20+@i,‘湖南‘,GETDATE())
     set @i=@i+1
     end
     Go

--插入数据end
--添加账号 start
/*--添加SQL登录账户--*/
exec sp_addlogin ‘LD‘, ‘a.123456‘  -- 账户名为LD,密码为a.123456
--删除xie账户名
exec sp_droplogin ‘LD‘
--添加账户结束
--添加权限 start
use LDSQL
go
  grant select,update,insert on userinfo to LD
  grant create table to LD
go
--添加权限end
--存储过程 start
----1 简单存储过程  start
if object_id(‘usp_getuserinfo_simple‘) is not null
drop proc usp_getuserinfo_simple

Go
create proc usp_getuserinfo_simple
as
select * from [dbo].[userinfo]

--执行
exec usp_getuserinfo_simple
----1 简单存储过程  end
----2 参数输入存储过程  start
if object_id(‘usp_getuserinfo_input‘) is not null
drop proc usp_getuserinfo_input
Go
create proc usp_getuserinfo_input
@Age int
as
select * from [dbo].[userinfo] where age=@Age

--执行
exec usp_getuserinfo_input 21
----2 参数输入存储过程  end
----3 参数输出output存储过程  start
if object_id(‘usp_getuserinfo_output‘) is not null
drop proc usp_getuserinfo_output
Go
create proc usp_getuserinfo_output
@Age int output
as
select @Age=age from userinfo
Go
--执行
declare @Age int
exec usp_getuserinfo_output @Age output
select @Age  

----3 参数输出output存储过程  end

----4 参数输入输出output存储过程  start
if object_id(‘usp_getuserinfo_input_output‘) is not null
drop proc usp_getuserinfo_input_output
Go
create proc usp_getuserinfo_input_output
@id int,
@Age int output
as
select @Age=age from userinfo where id=@id
Go
--执行

declare @Age int
exec usp_getuserinfo_input_output 6,@Age output
select @Age
----4 参数输入输出output存储过程  end

----5 参数输入输出return存储过程  start
if object_id(‘usp_getuserinfo_return‘) is not null
drop proc usp_getuserinfo_return
Go
Go
create proc usp_getuserinfo_return
as
declare @age int
begin
select @age=[age] from [dbo].[userinfo]
return @age
end
Go

declare @age int
exec @age=usp_getuserinfo_return
select @age
----5 参数输入输出return存储过程  end
----6 参数输入输出output_return存储过程  start
if object_id(‘usp_getuserinfo_intput_output_return‘) is not null
drop proc usp_getuserinfo_intput_output_return
Go
Go
create proc usp_getuserinfo_intput_output_return
@id int,
@name char(6)output
as
declare @age int

begin
select @age=[age],@name=name from [dbo].[userinfo] where id=@id
return @age
end
Go

declare @age int
declare @name char(6)
exec @age=usp_getuserinfo_intput_output_return 6,@name output
select @age,@name
----6 参数输入输出input_output_return存储过程  end

--7 分页 start
  if object_id(‘usp_select_page‘) is not null
  drop proc usp_select_page
Go
create proc usp_select_page
(
@pageIndex int,--当前页码
@pagecount int--每页条数
)
as
begin
select * from (select ROW_NUMBER() over(partition by SameRow order by Id) as Row,* from (select *,1 as SameRow from userinfo )m)o where o.Row between @pageIndex*@pagecount+1 and (@pageIndex+1)*@pagecount
end

exec usp_select_page 0,10
--7 分页 end
--8 流水号 start --
 CREATE TABLE [dbo].[SriaNum] (
[Num] [int] NOT NULL
)
Go
if object_id(‘usp_GetSerialNumber‘) is not null
  drop proc usp_GetSerialNumber
Go
create PROC usp_GetSerialNumber
@SerialNumber VARCHAR(4) OUTPUT -- 指明为输出参数
AS
IF NOT EXISTS(SELECT * FROM SriaNum)
BEGIN
INSERT INTO SriaNum values(1)
END
ELSE
BEGIN
UPDATE SriaNum SET Num=Num+1
END

SELECT
@SerialNumber = REPLICATE(‘0‘,4-LEN(Num))+CONVERT(VARCHAR(4),Num) --生成[000000001, 999999999]范围内的流水号
FROM   SriaNum

Go
 --执行
 DECLARE @TEST VARCHAR(4)
EXECUTE [dbo].usp_GetSerialNumber @TEST OUTPUT -- 指明为输出变量
SELECT @TEST AS SERIALNUMBER -- 获得流水号
--
--8 流水号 end
--9 时间zhuo start
Go
CREATE FUNCTION UNIX_TIMESTAMP (@ctimestamp datetime) RETURNS integer
AS
BEGIN
 /* Function body */
 declare @return integer
 SELECT @return = DATEDIFF(SECOND,{d ‘1970-01-01‘}, @ctimestamp)
 return @return
END
 Go 

 CREATE FUNCTION FROM_UNIXTIME (@ts integer) RETURNS datetime
AS
BEGIN
 /* Function body */
 declare @return datetime
 select @return = DATEADD(second, @ts, {d ‘1970-01-01‘})
 return @return
END
Go 

Go
--9 时间-- end

--存储过程 end

--随机取出10条数据 start
select top 10 * from [dbo].[userinfo] order by newid()
--随机取出10条数据 end
Go
--in 的使用方法
select * from [dbo].[userinfo] where [age]  in (23,34,56,55)
select * from [dbo].[userinfo] where [age] not in (23,34,56,55)

--查询重复
select * from userinfo where id not in (select max(id) from userinfo group by name,age)
--删除重复
Delete from userinfo where id not in (select max(id) from userinfo group by name,age)

--模糊查询
 select * from [dbo].[userinfo] where name like ‘%张%‘

 --日程安排提前五分钟提醒
  select * from [dbo].[userinfo] where datediff(minute,time1,getdate())>5

 ---==================================

    --1当前时间戳 获取sql
    SELECT DATEDIFF(S,‘1970-01-01 00:00:00‘, GETDATE()) - 8 * 3600
       SELECT DATEDIFF(s, ‘1970-01-01 00:00:00‘, GETUTCDATE())

    --js
    --Math.round(new Date().getTime()/1000)
    --C#
   --long a = (DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000000;
    ---===========================================
    --2时间戳→普通时间sql
     SELECT DATEADD(s,1483461862,‘1970-01-01 08:00:00‘) as DTime
     SELECT DATEADD(S,1483461862 + 8 * 3600,‘1970-01-01 00:00:00‘) 

     --js
    -- var unixTimestamp = new Date(Unix timestamp * 1000)
    --然后 commonTime =        unixTimestamp.toLocaleString()

    --3 普通时间 → Unix时间戳
     --sql
     SELECT DATEDIFF(s, ‘1970-01-01 08:00:00‘, ‘2017-01-04 00:44:22.000‘)
     --js
    -- var commonTime = new Date(Date.UTC(year, month - 1, day, hour, minute, second))

  ---=====流水号 start===============================

  --流水号生成规则:
  --1:流水号总长度为22位数
  --2:流水号总共分三部分:标头(2位)+ 时间戳(YYYYMMDDHHmmSSsss共17位)+ 随机码(3位)
  --举例流水号:SN20150812102400111234
   --获取时间戳
select convert(varchar,replace(replace(replace(replace(convert(varchar,getdate(),121),‘-‘,‘‘),‘:‘,‘‘),‘ ‘,‘‘),‘.‘,‘‘))
--结果:20150703114447613

--获取随机码
select substring(convert(varchar,rand()),3,3)
--结果:813

--获取完整的流水号
SELECT ‘SN‘+convert(varchar,replace(replace(replace(replace(convert(varchar,getdate(),121),‘-‘,‘‘),‘:‘,‘‘),‘ ‘,‘‘),‘.‘,‘‘))+substring(convert(varchar,rand()),3,3)
--结果:SN20150703114447613813

  ---=====流水号 end===============================
exec xp_cmdshell ‘mkdir d:\DB‘
时间: 2024-10-12 09:32:12

我的sql 记录的相关文章

(十)PL/SQL记录

PL/SQL记录就是可以容纳不同类型的数据项的数据结构.记录由不同字段,类似于数据库表的行.例如,要保留跟踪图书馆中的书籍.可能要跟踪有关每本书下面的属性类似:标题,作者,主题,图书ID.包含一个字段为每个这些项目记录允许进行处理书籍作为一个逻辑单元信息. PL/SQL可以处理记录的以下几种类型:   基于表的记录   基于游标的记录   用户自定义记录      附:  Select * from customers;+----+----------+-----+-----------+---

mysql如何配置sql记录

原文链接:http://www.qqdeveloper.com/detail/11/1.html 为什么要记录sql记录 主要目的是为了检测我们的网站安全问题,有效的避免一些sql注入或者是xss攻击. 如何实现 这里主要以windows系统中的my.ini文件为例,Linux系统的配置文件是my.conf,本例中以5.6为例. ?方式一 ?    ?log = "D:/wamp64/logs/mysql.log" // 日子记录文件 ?    ?log_slow_queries =

查询SQLSERVER执行过的SQL记录

原文:查询SQLSERVER执行过的SQL记录 有的时候,需要知道SQLSERVER执行了什么语句,可以用下面的方法: SELECT TOP 1000 --创建时间 QS.creation_time, --查询语句 SUBSTRING(ST.text,(QS.statement_start_offset/2)+1, ((CASE QS.statement_end_offset WHEN -1 THEN DATALENGTH(st.text) ELSE QS.statement_end_offse

MySQL 查看执行的SQL记录

我们时常会有查看MySQL服务端执行的SQL记录.在MySQL5.1之后提供了支持,通过在启动时加入-l 或者--log选项即可: mysqld -l mysqld --log 在后面的版本(5.1.2)中开始改用--general_log: mysqld --general_log 开启后会在数据目录下看到生成一个日志文件,默认格式为:主机名.log 可在配置文件中设置开启日志: [mysqld] general_log = 1 general_log_file = /path/to #日志文

PL/SQL 记录 Record 简介

记录类型是表中当行数据结构的一个镜像.每个记录只存储一行数据,记录包含的是字段,而不是列. 1.用%rowtype属性隐式定义记录类型 declare individual individuals%rowtype --记录变量individual与individuals表的结构构成镜像,拥有表的所有字段 begin individual.individual_id:=1; --对变量的各个字段初始化 individual_id.first_name:='Jone'; individual_id.

mysql-关联查询sql记录

//查询账单关联订单 select o.id as id, o.order_no as orderNo, o.case_no as caseNo, o.send_time as sendTime, o.final_time as finalTime, (select ca.car_no from fm_order_case ca where ca.case_no = o.case_no) as carNo, (select co.service_money from fm_order_cost

SpringBoot配置 druid 数据源配置 慢SQL记录

spring: datasource: url: jdbc:mysql://127.0.0.12:3306/test?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull username: root password: root druid: initialSize: 5 application: name: message-center secur

mysql表结构的修改-sql记录

1 ALTER TABLE tbl_sms_track add COLUMN SENDCONTENT VARCHAR(500) AFTER PLATEFROM_NAME; -- 添加一列 2 3 ALTER TABLE tbl_sms_track DROP COLUMN SENDCONTENT; -- 删除一列 4 5 ALTER TABLE tbl_sms_track MODIFY SIGN VARCHAR(400); -- 修改数据类型 6 7 ALTER TABLE tbl_sms_tra

PL/SQL 记录与集合

一.记录类型简介 不使用记录的PLSQL语句块 declare v_empno NUMBER; v_ename varchar2(20); v_job varchar2(9); v_mgr NUMBER; v_hiredate DATE; v_sal NUMBER(7,2); v_comm NUMBER(7,2); v_deptno NUMBER(2); begin select empno,ename,job,mgr,hiredate,sal,comm,deptno into v_empno,

log4jdbc实现慢查询sql记录

首先,明确一个概念,这个也是之前一直没怎么搞清楚的: log4jdbc一共有三个分支,log4jdbc是原版,最近终于加入Maven的主仓库中,fork之一是log4jdbc-remix,后来又再fork了一个log4jdbc-log4j2. 原版Log4jdbc:https://code.google.com/p/log4jdbc/ github地址:https://github.com/arthurblake/log4jdbc log4jdbc-remix地址:http://code.goo