您的位置:澳门新葡8455最新网站 > 数据库管理 > 语句大全,数据库小结1

语句大全,数据库小结1

发布时间:2019-12-02 18:02编辑:数据库管理浏览(80)

     一、基础

    SQL 语句大全,sql语句大全

    创办数据库

    创造以前剖断该数据库是不是留存

    if exists (select * from sysdatabases where name='databaseName') 

    drop database databaseName

    go

    Create DATABASE databasename

    删除数据库

    drop database databasename

    备份sql server

    创造备份数据的 device

    USE master

    EXEC sp_addumpdevice 'disk', 'testBack', 'c:mssql7backupMyNwind_1.dat'

    --- 领头备份

    BACKUP DATABASE pubs TO testBack

    创造新表

    create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)

    根据原来就有的表创立新表:

    A:go 

    use 原数据库名

    go 

    select * into 目的数据库名.dbo.目标表名 from 原表名(使用旧表创制新表卡塔尔(قطر‎

    B:create table tab_new as select col1,col2… from tab_old definition only

    创设种类

    create sequence SIMON_SEQUENCE 

    minvalue 1 -- 最小值 

    maxvalue 999999999999999999999999999 -- 最大值

    start with 1 -- 开始值

    increment by 1 -- 每趟加几
    cache 20;

    删除新表

    drop table tabname

    扩大二个列

    Alter table tabname add colname coltype

    删除一个列

    Alter table tabname drop column colname

    增多主键

    Alter table tabname add primary key(col)

    表达:删除主键:Alter table tabname drop primary key(col卡塔尔(英语:State of Qatar)

    成立索引

    create [unique] index idxname on tabname(col…。)

    删除索引

    drop index idxname on tabname

    注:索引是不足校正的,想修正必得删除重新建。

    创立视图

    create view viewname as select statement

    删除视图

    drop view viewname

     

    总结基本的sql语句

    (1卡塔尔(قطر‎ 数据记录筛选:

    sql="select * from 数据表 where 字段名=字段值 order by 字段名 [desc]"

    sql="select * from 数据表 where 字段名 like '%字段值%' order by 字段名 [desc]"

    sql="select top 10 * from 数据表 where 字段名=字段值 order by 字段名 [desc]"

    sql="select top 10 * from 数据表 order by 字段名 [desc]"

    sql="select * from 数据表 where 字段名 in ('值1','值2','值3')"

    sql="select * from 数据表 where 字段名 between 值1 and 值2"

    (2卡塔尔国 更新数据记录:

    sql="update 数据表 set 字段名=字段值 where 条件表明式"

    sql="update 数据表 set 字段1=值1,字段2=值2 …… 字段n=值n where 条件表达式"

    (3卡塔尔(قطر‎ 删除数据记录:

    sql="delete from 数据表 where 条件表明式" 

    sql="delete from 数据表" (将数据表全体记录删除卡塔尔(قطر‎

    (4卡塔尔国 增加数量记录:

    sql="insert into 数据表 (字段1,字段2,字段3 …) values (值1,值2,值3 …)"

    sql="insert into 目的数据表 select * from 源数据表" (把源数据表的笔录增多到目的数据表卡塔尔(英语:State of Qatar)

    (5卡塔尔(قطر‎ 数据记录总计函数:

    AVG(字段名卡塔尔(قطر‎          得出一个表格栏平均值

    COUNT(*;字段名卡塔尔(قطر‎   对数码行数的总括或对某后生可畏栏有值的数量行数计算

    MAX(字段名卡塔尔(قطر‎         拿到一个表格栏最大的值

    MIN(字段名卡塔尔国          得到一个表格栏最小的值

    SUM(字段名卡塔尔         把数据栏的值相加

    援用以上函数的方法:

    sql="select sum(字段名卡塔尔(英语:State of Qatar) as 外号 from 数据表 where 条件表明式"

    set rs=conn.excute(sql)

    用 rs("别称"卡塔尔 获取总括的值,此外函数运用同上。

    查询去除重复值:select distinct * from table1

     

    多少个高端查询运算词

    A: UNION 运算符

    UNION 运算符通过整合其余多个结果表(例如TABLE1 和TABLE2)并消去表中任何重复行而派生出三个结出表。当 ALL 随UNION 一齐使用时(即UNION ALL),不杀绝重复行。二种景况下,派生表的每风姿浪漫行不是源于TABLE1 正是源于TABLE2。

    B: EXCEPT 运算符

    EXCEPT 运算符通过包涵富有在TABLE1 中但不在TABLE第22中学的行并消逝全数重复行而派生出一个结果表。当ALL 随EXCEPT 一齐利用时(EXCEPT ALL卡塔尔(قطر‎,不消逝重复行。
    C:INTERSECT 运算符

    INTETiggoSECT 运算符通过只囊括TABLE1 和TABLE2中都部分行并消弭全部重复行而派生出三个结出表。当ALL 随INTE中华VSECT 一齐行使时(INTEMuranoSECT ALL卡塔尔(英语:State of Qatar),不消除重复行。

    注:使用运算词的多少个查询结果行必得是少年老成律的。

     

    使用外接连

    A、left outer join

    左外连接(左连接):结果集既包罗连接表的相配行,也席卷左连接表的兼具行。

    SQL: select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c

    B:right outer join

    右外连接(右连接卡塔尔:结果集既满含连接表的相称连接行,也席卷右连接表的享有行。

    C:full outer join

    全外连接:不唯有囊括符号连接表的相称行,还满含八个一而再表中的全数记录。

     

    SQL  高级词

    1、TOP 子句用于规定要回来的记录的数额

    选拔头两条记下:

    SELECT TOP 2 * FROM Persons

    选取 50% 的记录:

    SELECT TOP 50 PERCENT * FROM Persons

    2、LIKE 操作符用于在 WHERE 子句中寻找列中的钦命方式。

    唤醒:"%" 可用以定义通配符(形式中缺少的假名)。NOT LIKE

    3、SQL 通配符

    在探索数据库中的数据时,SQL 通配符能够代表贰个或八个字符。

    SQL 通配符必需与 LIKE 运算符一齐利用。

    在 SQL 中,可接纳以下通配符:

    通配符

    描述

    %

    替代一个或多个字符

    _

    仅替代一个字符

    [charlist]

    字符列中的任何单一字符

    [^charlist]或者[!charlist]

    不在字符列中的任何单一字符

     

     

     

     

     

     

      

     

    SELECT * FROM Persons WHERE City LIKE 'Ne%'

    SELECT * FROM Persons WHERE City LIKE '%lond%'

    SELECT * FROM Persons WHERE FirstName LIKE '_eorge'

    SELECT * FROM Persons WHERE LastName LIKE 'C_r_er'

    选用居住的都市以 "A" 或 "L" 或 "N" 伊始的人:

    SELECT * FROM Persons WHERE City LIKE '[ALN]%'

    接收居住的都市不以 "A" 或 "L" 或 "N" 起头的人:

    SELECT * FROM Persons WHERE City LIKE '[!ALN]%'

    4、IN 操作符允许大家在 WHERE 子句中分明多个值。

    接收姓氏为 亚当斯 和 Carter 的人:

    SELECT * FROM Persons WHERE LastName IN ('Adams','Carter')

    5、BETWEEN ... AND 会选择介于五个值期间的多寡范围。这么些值能够是数值、文本或然日期。

    SELECT * FROM Persons WHERE LastName BETWEEN 'Adams' AND 'Carter'

    使用方面包车型地铁例证展现范围之外的人,请使用 NOT 操作符:

    SELECT * FROM Persons WHERE LastName NOT BETWEEN 'Adams' AND 'Carter'

    6、Alias 为列名称和表名称钦命外号(Alias)。

    SELECT column_name(s) FROM table_name AS alias_name

    7、join 用于根据四个或多个表中的列之间的关系,从这个表中查询数据。

    哪个人订购了付加物,并且他们订购了怎么产物?

    SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo FROM Persons, Orders WHERE Persons.Id_P = Orders.Id_P

    • JOIN/INNE汉兰达 JOIN : 假使表中有最少叁个同盟,则重回行
    • LEFT JOIN: 就算右表中未有相配,也从左表重临全部的行
    • 奥迪Q5IGHT JOIN: 即便左表中尚无相称,也从右表重回全体的行
    • FULL JOIN: 只要在那之中二个表中存在极其,就再次来到行

    8、UNION 操作符用于合并四个或四个 SELECT 语句的结果集。

    请注意,UNION 内部的 SELECT 语句必得怀有相同数量的列。列也不能不有所相仿的数据类型。同期,每条 SELECT 语句中的列的种种必需生龙活虎律。

    声明:私下认可地,UNION 操作符选取区别的值。借使同意再一次的值,请使用 UNION ALL。

    9、SELECT INTO 语句从一个表中甄选数据,然后把数量插入另一个表中

    通过从 "Persons" 表中提取居住在 "Beijing" 的人的新闻,成立了二个含有四个列的名称叫 "Persons_backup" 的表:

    SELECT LastName,Firstname INTO Persons_backup FROM PersonsWHERE City='Beijing'

    10、SQL 约束 (Constraints)

    • NOT NULL
    • UNIQUE
    • PRIMARY KEY
    • FOREIGN KEY
    • CHECK
    • DEFAULT 

     MySQL Date 函数

    上面包车型大巴报表列出了 MySQL 中最首要的内建日期函数:

    函数

    描述

    NOW()

    返回当前的日期和时间

    CURDATE()

    返回当前的日期

    CURTIME()

    返回当前的时间

    DATE()

    提取日期或日期/时间表达式的日期部分

    EXTRACT()

    返回日期/时间按的单独部分

    DATE_ADD()

    给日期添加指定的时间间隔

    DATE_SUB()

    从日期减去指定的时间间隔

    DATEDIFF()

    返回两个日期之间的天数

    DATE_FORMAT()

    用不同的格式显示日期/时间

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    MySQL 数据类型

    在 MySQL 中,有二种重大的品类:文本、数字和日期/时间项目。

    Text 类型:

    数据类型

    描述

    CHAR(size)

    保存固定长度的字符串(可包含字母、数字以及特殊字符)。在括号中指定字符串的长度。最多 255 个字符。

    VARCHAR(size)

    保存可变长度的字符串(可包含字母、数字以及特殊字符)。在括号中指定字符串的最大长度。最多 255 个字符。
    注释:如果值的长度大于 255,则被转换为 TEXT 类型。

    TINYTEXT

    存放最大长度为 255 个字符的字符串。

    TEXT

    存放最大长度为 65,535 个字符的字符串。

    BLOB

    用于 BLOBs (Binary Large OBjects)。存放最多 65,535 字节的数据。

    MEDIUMTEXT

    存放最大长度为 16,777,215 个字符的字符串。

    MEDIUMBLOB

    用于 BLOBs (Binary Large OBjects)。存放最多 16,777,215 字节的数据。

    LONGTEXT

    存放最大长度为 4,294,967,295 个字符的字符串。

    LONGBLOB

    用于 BLOBs (Binary Large OBjects)。存放最多 4,294,967,295 字节的数据。

    ENUM(x,y,z,etc.)

    允许你输入可能值的列表。可以在 ENUM 列表中列出最大 65535 个值。如果列表中不存在插入的值,则插入空值。
    注释:这些值是按照你输入的顺序存储的。
    可以按照此格式输入可能的值:ENUM('X','Y','Z')

    SET

    与 ENUM 类似,SET 最多只能包含 64 个列表项,不过 SET 可存储一个以上的值。

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     Number 类型:

    数据类型

    描述

    TINYINT(size)

    -128 到 127 常规。0 到 255 无符号*。在括号中规定最大位数。

    SMALLINT(size)

    -32768 到 32767 常规。0 到 65535 无符号*。在括号中规定最大位数。

    MEDIUMINT(size)

    -8388608 到 8388607 普通。0 to 16777215 无符号*。在括号中规定最大位数。

    INT(size)

    -2147483648 到 2147483647 常规。0 到 4294967295 无符号*。在括号中规定最大位数。

    BIGINT(size)

    -9223372036854775808 到 9223372036854775807 常规。0 到 18446744073709551615 无符号*。在括号中规定最大位数。

    FLOAT(size,d)

    带有浮动小数点的小数字。在括号中规定最大位数。在 d 参数中规定小数点右侧的最大位数。

    DOUBLE(size,d)

    带有浮动小数点的大数字。在括号中规定最大位数。在 d 参数中规定小数点右侧的最大位数。

    DECIMAL(size,d)

    作为字符串存储的 DOUBLE 类型,允许固定的小数点。

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    * 这几个整数类型具有额外的选项 UNSIGNED。平常,整数能够是负数或正数。借使加多 UNSIGNED 属性,那么范围将从 0 初叶,并非有个别负数。

    Date 类型:

    数据类型

    描述

    DATE()

    日期。格式:YYYY-MM-DD
    注释:支持的范围是从 '1000-01-01' 到 '9999-12-31'

    DATETIME()

    *日期和时间的组合。格式:YYYY-MM-DD HH:MM:SS
    注释:支持的范围是从 '1000-01-01 00:00:00' 到 '9999-12-31 23:59:59'

    TIMESTAMP()

    *时间戳。TIMESTAMP 值使用 Unix 纪元('1970-01-01 00:00:00' UTC) 至今的描述来存储。格式:YYYY-MM-DD HH:MM:SS
    注释:支持的范围是从 '1970-01-01 00:00:01' UTC 到 '2038-01-09 03:14:07' UTC

    TIME()

    时间。格式:HH:MM:SS 注释:支持的范围是从 '-838:59:59' 到 '838:59:59'

    YEAR()

    2 位或 4 位格式的年。
    注释:4 位格式所允许的值:1901 到 2155。2 位格式所允许的值:70 到 69,表示从 1970 到 2069。

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    * 纵然 DATETIME 和 TIMESTAMP 再次来到形似的格式,它们的职业方法很分化。在 INSERT 或 UPDATE 查询中,TIMESTAMP 自动把笔者设置为近来的日期和时间。

    TIMESTAMP 也经受不一样的格式,比如 YYYYMMDDHHMMSS、YYMMDDHHMMSS、YYYYMMDD 或 YYMMDD。

    SQL  函数

    AVG 函数重返数值列的平均值。NULL 值不蕴涵在思量中。

    COUNT(column_name卡塔尔(英语:State of Qatar) 函数返回钦点列的值的多少(NULL 不计入)。

    FICR-VST(卡塔尔国 函数重回内定的字段中第二个记录的值。

    LAST(卡塔尔(英语:State of Qatar) 函数重回钦赐的字段中最终一个记录的值。

    OENCOREDELAND BY 语句对记录进行排序。

    MAX 函数再次回到一列中的最大值。NULL 值不包蕴在计算中。

    MIN 函数再次来到一列中的最小值。NULL 值不包罗在酌量中。

    SUM 函数重临数值列的总额(总额)。

    GROUP BY 语句用于结合合计函数,根据多个或多少个列对结果集进行分组。

    HAVING 子句原因是,WHERE 关键字无法与谈判函数一齐使用。

    UCASE 函数把字段的值转变为大写。

    LCASE 函数把字段的值调换为小写。

    MID 函数用于从文本字段中领到字符

    SELECT MID(column_name,start[,length]) FROM table_name

    参数

    描述

    column_name

    必需。要提取字符的字段。

    start

    必需。规定开始位置(起始值是 1)。

    length

    可选。要返回的字符数。如果省略,则 MID() 函数返回剩余文本。

     

     

     

     

     

     

     

    SQL MID(卡塔尔国 实例我们具有下边这么些 "Persons" 表:

    Id

    LastName

    FirstName

    Address

    City

    1

    Adams

    John

    Oxford Street

    London

    2

    Bush

    George

    Fifth Avenue

    New York

    3

    Carter

    Thomas

    Changan Street

    Beijing

     

     

     

     

     

     

     

    现行反革命,大家期待从 "City" 列中领到前 3 个字符。

    咱们选拔如下 SQL 语句:

    SELECT MID(City,1,3卡塔尔(قطر‎ as SmallCity FROM Persons结果集相似那样:

    SmallCity

    Lon

    New

    Bei

     

     

     

     

     

     

     

    LEN 函数重临文本字段中值的长短。

    ROUND 函数用于把数值字段舍入为钦定的小数位数。

    SELECT ROUND(column_name,decimals) FROM table_name 

    NOW 函数重临当前的日期和时间。

    FORMAT 函数用于对字段的展现进行格式化。

     

    删除主表未有的音讯

    delete from table1 where not exists ( select * from table2 where table1.field1=table2.field1 )

    四表联查难题

    select * from a left inner join b on a.a=b.b right inner join c on a.a=c.c inner join d on a.a=d.d where .....

    随机抽出10条数据

    select top 10 * from tablename order by newid()

    随机接收记录

    select newid()

    语句大全,sql语句大全 创造数据库 制造以前判断该数据库是不是存在 if exists (select * fromsysdatabaseswhere name='databaseName') drop database databaseN...

    1、成立数据库

    CREATE DATABASE database-name

    2、删除数据库

     drop database dbname

    3、备份sql server

     --- 成立 备份数据的 device

    USE master

    EXEC sp_addumpdevice 'disk',’testBack', :mssql7backupMyNwind_1.dat' --- 开始 备份

    BACKUP DATABASE pubs TO testBack

    4、创设新表

     create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)

    例子:

    CREATE TABLE tableA(

        [id] [int] NOT NULL PRIMARY KEY,

        [Name][nvarchar](50) NOT NULL,

        [Age] [int] NOT NULL,)

    依据原来就有个别表创设新表:

    A:create table tab_new like tab_old (使用旧表创立新表SQL server2009不得以卡塔尔(英语:State of Qatar)

    B:create table tab_new as select col1,col2… from tab_old definition only

    C: select *into  tableAnew from tableA(复制表结交涉表数据。旧表创制新表无主键。SQL server二〇一〇昂科拉2能够用 亲测卡塔尔

    D:select * into table3 from tableA where 1=2;(复制表数据,主键复制可是去卡塔尔(قطر‎

    E: insert into table3 select * from tableA where id=1;(借使表存在,导入数据卡塔尔国

    F: select * into table5 from tableA where 1<>1;(旧表创设新表,独有表布局)

    5、删除新表

    drop table tabname

    6、扩张七个列

    Alter table tabname add column col type

    注:列扩展后将无法去除。DB2中列加上后数据类型也无法退换,唯风流浪漫能改动的是增添varchar类型的尺寸。

    7、增加主键:

     Alter table tabname add primary key(col)

    表达:删除主键:

     Alter table tabname drop primary key(col)

    8、创制索引:

    create [unique] index idxname on tabname(col….卡塔尔国 删除索引:drop index idxname

    注:索引是不可改造的,想改换必需删除重新建。

    9、创设视图:

    create view viewname as select statement

     删除视图:drop view viewname

    10、选拔,插入,删除,更新,查找,排序,总的数量,求和,平均,最大,最小基本的sql语句

    选择:select * from table1 where 范围

    插入:insert into table1(field1,field2) values(value1,value2)

    删除:delete from table1 where 范围

    更新:update table1 set field1=value1 where 范围

    查找:select * from table1 where 田野(field卡塔尔(英语:State of Qatar)1 like ’%value1%’ ---like的语法很精致,查资料

    排序:select * from table1 order by field1,field2 [desc]

    总数:select count as totalcount from table,

    求和:select sum(field1) as sumvalue from table1

    平均:select avg(field1) as avgvalue from table1

    最大:select max(field1) as maxvalue from table1

    最小:select min(field1) as minvalue from table1

    11、多少个高档查询运算词

    A: UNION 运算符

    UNION 运算符通过结合别的多个结果表(举个例子 TABLE1 和 TABLE2)并消去表中别的重复行而派生出二个结实表。当 ALL 随 UNION 一同利用时(即 UNION ALL),不消逝重复行。二种景况下,派生表的每黄金年代行不是发源 TABLE1 正是根源TABLE2。

    B: EXCEPT 运算符

    EXCEPT 运算符通过饱含具备在 TABLE1 中但不在 TABLE第22中学的行并消灭全数重复行而派生出二个结出表。当 ALL 随 EXCEPT 一同行使时 (EXCEPT ALL卡塔尔(英语:State of Qatar),不消灭重复行。

    C: INTERSECT 运算符

    NTEHavalSECT 运算符通过只富含 TABLE1 和 TABLE2中都有个别行并杀绝全体重复行而派生出一个结实表。当 ALL 随 INTE宝马7系SECT 一齐利用时 (INTEENVISIONSECT ALL卡塔尔国,不拔除重复行。 注:使用运算词的多少个查询结果行必得是相同的

    12、使用外接连

    A、left (outer) join:

    左外连接(左连接):结果集几包蕴连接表的相称行,也囊括左连接表的有着行。 SQL: select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a =                b.c

         在使用left join时,on和where条件的差距如下:1、 on条件是在变化临时表时使用的规格,它不管on中的条件是还是不是为真,都会回到左侧表中的记录。能够领略为,左表记录封存,右表不满意条件的填充为null 2、where条件是在最近表生成好后,再对临时表举行过

    滤的条件。此时早就远非left join的意义(必需回到右边表的记录)了,条件不为真的就整个过滤掉。

     

    B:right (outer) join:

    右外连接(右连接卡塔尔:结果集既富含连接表的相称连接行,也囊括右连接表的有着

    行。

    C:full/cross (outer) join:

    全外连接:不独有包蕴符号连接表的相配行,还满含三个三番五次表中的全部记录。

    13、分组:Group by:

    一张表,风姿浪漫旦分组 落成后,查询后只可以获得组相关的音信。

    组相关的新闻:(总括音讯) count,sum,max,min,avg 分组的行业内部卡塔尔(قطر‎

    在SQLServer中分组时:不可能以text,ntext,image类型的字段作为分组凭仗

    在selecte总括函数中的字段,不可能和平常字段放在一块儿;

    14、对数据库进行操作:

      分离数据库:EXEC sp_detach_db DatabaseName

    叠合数据库:sp_attach_db后接注明,

    急需总体的路线名

    15.什么样校正数据库的称谓:

    sp_renamedb 'old_name', 'new_name’

    16、左匹配、模糊、右匹配、全匹配

    左相配:左侧先河是字段条件的比方1左相称,正是1初叶的字段

    右相配:左边开首是原则的

    17、SQL模糊查询条件的七种相称情势

    ①、%:表示放肆0个或多少个字符。可相称任意类型和长度的字符,有个别情形下即使华语,请使用三个百分号(%%卡塔尔表示:

    例如 SELECT * FROM [user] WHERE u_name LIKE '%三%'
    将会把u_name为“张三”,“张猫三”、“三脚猫”,“唐僧”等等有“三”的笔录全找寻来。

    再比方说供给寻觅u_name中既有“三”又有“猫”的记录,请使用and条件
    SELECT * FROM [user] WHERE u_name LIKE '%三%' AND u_name LIKE '%猫%'

    再例如 SELECT * FROM [user] WHERE u_name LIKE '%三%猫%'
    固然能招来出“三脚猫”,但不能够招来出切合条件的“张猫三”。备注:%三:表示左相称。三%:表示右相配。%三%:表示模糊查询

    ②、_ : 表示大肆单个字符。相称单个放肆字符,它常用来节制表明式的字符长度语句:

    例如 SELECT * FROM [user] WHERE u_name LIKE '_三_'
    只找出“唐三藏”,这样u_name为四个字且中间多个字是“三”的;

    再例如 SELECT * FROM [user] WHERE u_name LIKE '三__'
    只寻觅“三脚猫”那样name为八个字且第一个字是“三”的;

    ③、[ ] :表示括号内所列字符中的一个(肖似正则表达式)。钦点一个字符、字符串或节制,必要所匹配对象为它们中的任叁个。

    例如 SELECT * FROM [user] WHERE u_name LIKE '[张李王]三'
    将找寻“张三”、“李三”、“王三”(而不是“张李王三”);

    再例如 [ ] 内有生龙活虎体系字符(01234、abcde之类的)则可略写为“0-4”、“a-e”
    SELECT * FROM [user] WHERE u_name LIKE '老[1-9]'
    将找出“老1”、“老2”、……、“老9”;

    若果要找“-”字符请将其放在第二位:'张三[-1-9]';

    Oracle 10g以上的本子用法为:

    select * from flow_user where regexp_like(username, '[张王李]飞')

    ④、[^ ] :表示不在括号所列之内的单个字符。其取值和 [] 相似,但它必要所匹配成对象为钦点字符以外的任一个字符。

    例如 SELECT * FROM [user] WHERE u_name LIKE '[^张李王]三'
    将寻觅不姓“张”、“李”、“王”的“赵三”、“孙三”等;
    再例如 SELECT * FROM [user] WHERE u_name LIKE '老[^1-4]'
    将排除“老1”到“老4”,寻找“老5”、“老6”、……、“老9”。

    注:oracle like 不支持正则,你可以行使扶助like的正则regexp_like

    ⑤、查询内容满含通配符时

    * 表示查找的是具备音信,举例select * from tbl_user 

    鉴于通配符的自始自终的经过,引致大家询问特殊字符“%”、“_”、“[”的说话无法符合规律实现,而把特别字符用“[ ]”括起便可常常查询。据此我们写出以下函数:
    function sqlencode(str)
    str=replace(str,"[","[[]"卡塔尔(قطر‎ '此句应当要在最前
    str=replace(str,"_","[_]")
    str=replace(str,"%","[%]")

    sqlencode=str
    end function

    注:
    在查询前将待查字符串先经该函数处理就可以,况兼在网页上接连数据库用到那类的查询语句时侯要精心:
    例如 Select * FROM user Where name LIKE '老[^1-4]'

    18、select isnull(max(字段1+1),1) from table

     从table中查询“字段1+1”的最大值,假如“字段1+1”的最大值为null,则值取1,不然取“字段1+1”的最大值。

    本文由澳门新葡8455最新网站发布于数据库管理,转载请注明出处:语句大全,数据库小结1

    关键词:

上一篇:没有了

下一篇:没有了