`
一片秋叶一树春
  • 浏览: 1833 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

SQL必知必会 精简内容

阅读更多
 
database数据库与数据库管理软件DBMS
 
表【table】
 
列【column】
 
        数据类型【datatype】:
 
行【row】record
 
主键【primary key】:
     1.主键值不能为null,同一个表里不能有相同的两个主键值
     2.主键不能被修改或者跟新
     3.主键值不能重复(从表中删除之后,后面的主键不能付给以后的行)
    
查询【select】
     1.查询一列与多列
     2.查询一表与多表
    
排序【order by】
     1.order by排序,写在select语句最后(order by product_price DESC,...)
     2.默认是升序ASC
     3.多个条件排序,就近原则,先按靠近order by最近的列名排序,相同再按后面列排序
     4.order by 2,3相对排序,2,3代表select后的列名第二与第三(从1开始)(通常不使用,易出错)
    
条件【where】
     1.根据where中搜索条件过滤
     2.where条件的操作符(<>,=,!=,<,<=,!>,>,>=,!<,between and,is null)
     3.单引号使用:当值与串类型的列比较,需要引号
                   当与数值列比较不需要引号
     4.!=与<>比较通常可以互换,有的DBMS只支持其中一种
     5.BETWEEN AND指定一个范围,前后都闭合,从多少到多少
     6.NULL是(no value)而不是数值0或者空字符串
  AND与OR组合
     7.AND连接两个条件,前后两个条件都要满足
     8.OR或者,通常按前一个条件过滤,有的DBMS后一个条件将不再执行
     9.当AND与OR组合使用的时候,加上()操作符优先级()大于AND大于OR
     10.IN( , )指定要匹配清单的关键字,功能与OR类似{匹配多个时,更清晰,比OR执行的快}
     11.NOT 通常配合其他操作符使用,{mysql中使用是not exist 判断是否存在}
    
模糊搜索【like】
     1.通配符搜索只能用于文本字段
  1.      %通配符-----》表示任何字符出现任意次数{包括0次}
  2.      _通配符-----》匹配一个字符
  3.      []通配符----》匹配字符集【字符集】%,SQLserver支持
  通配符使用技巧
     5.通配符搜索会很慢,如无必要,尽量不用
     6.通配符尽量不放在搜索开始的地方,性能很差
    
拼接字段
     1.SQL server,Sybase ,Access使用+
     2.Oracal,PosteSQL,DB2使用|| 如select vend_name+'('+vend_countray+')' AS 别名 from ..{同上面的+}
     3.MySQL使用concat()函数  如select  concat(vend_name,'(',vend_countray,')') AS 别名
     4.要拼装成一串数据,使用trim()去掉左右两边的空格,rtrim()去掉右边的空格,ltrim()去掉左边的空格
    
执行计算【算数操作符】
     1.+,-,*,/做运算,有优先级,必要时使用(),运算之后起别名 AS..
    
使用函数
     1.提取串组成部分
                     //Oracal,DB2,PortageSQL使用SUBSTR()
                     //MySQL,SQL server,Sybase使用SUBSTRING()
     2.数据类型转换
                   //DB2,PortageSQL使用CAST()
                   MySQL,SQL server,Sybase使用CONVERT()
     3.获取当前日期
                   //SQL server Sybase使用GETDATE()
                   PortageSQL,DB2使用CURRENT_DATE()
                     MySQL使用CURDATE()
     4.文本处理函数
                     //UPPER()----->转化为大写
                     LOWER()-----》转化为小写
                     LENGTH()----》获取字符串的长度
                     SOUNDEX()---》能对串进行发音比较而不是字符比较
                     TRIM()------》去除空格
     5.日期和时间处理函数
                    MySQL------->使用Year()获得年数
                    Oracal------》使用to_cchar()   to_number() {to_date()将两个串转化为日期}
     6.数值处理函数
                   ABS()---->返回绝对值
                   EXP()---->返回指数
                   SQRT()--->返回一个数的平方根
 
聚集函数
     1.COUNT()---->返回某列的行数----行的数目或者符合特定条件的行的数目
                                      count(*)对表中行的数目进行统计,不论是null还是非null
                                      count(列名1)对表中列名1的数目进行统计,忽略null
     2.AVG()------>返回某列的平均值----只用于单列,返回所有列的平均值或特定列的平均值,行的平均值,忽略列值为null的值
     3.MAX()------》返回某列的最大值----MAX(列名),指定列的最大值,忽略null值
     4.MIN()------》返回某列的最小值----指定列的最小值,忽略null
     5.SUM()------》返回某列值之和-----指定列的和
   使用标准算数操作符,所有聚集函数都可执行多列的计算
     6.distinct---》指定列名,distinct只能用于count() avg()//如count(distinct 列名){去除有相同列值}
 
分组【group by】
     1.group by(,,)可包含任意数的列,如嵌套了,将在最后一项进行汇总
     2.列需要是检索列或者有效的表达式列{不允许聚集函数}    若在select中使用表达式,则在group by()使用相同表达式,不使用别名
     3.除聚集函数列外,select的每个列必须在group by分组中给出
     4.group by()必须在where之后,order by()之前
  过滤分组【heaving】
     5.heaving可使用所有的where操作符{包括通配符,算数运算符}
   区别与where
     6.where是用来在分组前进行过滤,where排除的行不包括在分组中
     7.heaving是对分组之后的数据进行过滤,仅跟group by()合用
   与order by()共同使用
     8.筛选,分组筛选之后将内容按要求的顺序输出//联合使用order by()在之后
    
子查询
     1.通常把一条select的结果作为另一条查询where的条件
     2.作为子查询的select语句只能查询单个列
    
联结查询
     1.联结查询需要有where字句 如:from 表1,表2,表3 where 主键=外键AND主键=外键AND 其他条件
     2.内联结 如:from表1 inner join 表2 on 主键=外键
     3.外联结 如:from 表1left/right join 表2on主键=外键 left/right join 表3on主键=外键
         可以获取一表中不存在的行
     4.全联结 full join on//在mysql sql server sybase不支持
     5.一般使用内联结{外联结也ok},加上where条件或者join on
    
组合查询【union】
   1.组合查询要求每个查询包括相同的列,表达式,聚合函数
   2.由两条或者两条以上的select语句组成,由union来分隔
   3.union会自动去除结果中重复的行,union all会返回所有的结果,包括重复的
 
 
 
插入数据
   1.insert into 表1 (,,,)values (,,,)
   2.insert into 表1(,,,)select(,,,)from 表2
   3.从一个表复制数据到另外一个表//任何select的选项和字句都可以使用,包括where group by
     select * into 新表 from 旧表
 
更新数据//更新数据的时候,需要指定要更新的行及里面的内容,否则全表对应的列都会更新
   1.update 表 set 列名=列值,列名=列值 where 条件
 
删除数据
   1.delete from 表 where 条件
    删除以及修改都需要指定要操作的列,且需要在操作前判断用户权限
 
创建删除改变表
   1.create table 表名
   2.alter table     表名
     3.drop table 表名
    
    
    
事务【transaction】
   1.管理必须成批执行的sql操作,以保证数据库不包括不完整的执行操作
   2.事务用来管理insert update delete语句,不能回退select,create,drop语句
   3.begin transaction//commit transaction开启事务提交事务
   4.保留点savepoint rollback回滚到某个保留点如:rollback to delete1
        保留点越多越能灵活的操作数据
  
 
索引【index】
   1.索引像是字典的目录一样,加快搜索过程
   2.创建索引create index 索引名 on 表名(列名)
 
 
视图【view】

 

   1.create view 视图名 AS select 列名,列名 from 表名[where][group by ][heaving]

 

分享到:
评论

相关推荐

    MySQL必知必会PDF 高清晰中文书签版

    "MySQL必知必会"是一本深入浅出的教材,适合初学者和有一定基础的开发者阅读,帮助他们掌握MySQL的核心概念和实用技能。这本书的PDF高清晰中文书签版,提供了方便的导航,使得学习过程更加高效。 在书中,你可以...

    my sql 6 精简版

    这个目录通常会被添加到系统的PATH环境变量中,以便于在任何地方执行这些工具。 5. **data目录**: 存储MySQL数据库的实际数据文件,如表的数据文件、日志文件、二进制日志等。每个数据库都有自己的子目录,里面...

    sql server客户端安装包

    在本压缩包中,主要包含了一个名为"SQL Server客户端.exe"的可执行文件,这通常是SQL Server Management Studio(SSMS)或一个精简版的客户端工具。 SSMS是微软官方提供的一个集成环境,专为管理和开发SQL Server而...

    sql数据库监视器

    在SQL Server Express中,由于其精简版特性,不包含全面的数据库监视功能。因此,SQL数据库监视器就显得尤为重要,它填补了这一空白,让用户能够获取关于数据库运行状况的实时信息,包括查询性能、资源利用率(CPU、...

    MySQL精简绿色版

    精简版的MySQL通常会去除像图形化管理工具(如MySQL Workbench)、服务器端的一些额外插件、非标准的存储引擎(如Falcon、InnoDB之外的)等,以达到体积更小、启动更快的目的。这使得它在快速部署和移动方面具有优势...

    oracle32位客户端精简版72M

    对于熟悉SQL命令行操作的用户来说,这是一个必不可少的工具。 3. **Oracle Instant Client**:这个组件包含了数据库连接所需的库文件,例如oci.dll,是连接Oracle数据库的基础。 4. **TNSNames.ora**:网络服务名...

    Oracle10客户端精简版

    在精简版中,SQL*Plus通常是必不可少的,因为它是最基础的数据库管理和查询工具。 5. **安装与配置**:Oracle10客户端的精简版通常简化了安装过程,用户只需按照默认设置进行安装,通常会将客户端组件安装在预设的...

    SQLServer2005_SSMSEE.zip

    它虽然功能相对精简,但仍然包含大部分必备的数据库管理功能,如查询编辑、数据库设计、数据导入/导出等。SSMSEE可以免费下载和使用,适合于学习SQL Server或者在资源有限的环境中运行。 **3. 安装与使用** "SQL...

    免安装vb精简版

    使用VB精简版开发SQL Server应用程序时,开发者可以利用以下关键知识点: 1. **数据访问对象(ADO)**:ADO是微软的数据库访问接口,它提供了一种统一的方式来处理各种数据源,包括SQL Server。通过ADO,开发者可以...

    oracle10g精简客户端

    在Oracle 10g精简客户端中,SQL*Plus是必不可少的,它使得用户无需图形界面就能完成许多数据库管理任务。 除了这些基础组件,Oracle 10g精简客户端可能还包括其他实用工具,如Oracle Data Provider for .NET (ODP...

    SQL server2005

    这些选项的子项也应全部选中,确保显示为勾选状态("√"),因为这会影响到后续SQL Server的安装。 在启用IIS功能后,如果没有出现错误,可以继续进行SQL Server的安装。安装文件通常是ISO镜像格式,需要使用虚拟...

    sql2000小体量文件包,解压缩后60多M

    这个"sql2000小体量文件包"可能是该系统的一个精简版或者特定配置版本,它的大小只有60多MB,相较于标准版或企业版,其体积显著更小,对于存储空间有限的老式电脑或低配置设备来说非常友好。 首先,我们要理解SQL ...

    Oracle9i客户端精简版

    考虑到Oracle9i版本相对较旧,可能会有安全漏洞和性能问题,建议定期检查并更新到更现代的Oracle客户端版本,以获取更好的性能和安全性。 总之,Oracle9i客户端精简版是针对轻量级数据库操作的解决方案,适用于...

    Oracle 9i 客户端 精简版

    8. **Documentation**:尽管是精简版,但通常会提供基本的文档,帮助用户了解如何使用这些工具和接口。 在使用Oracle 9i客户端精简版时,用户需要注意以下几点: - 确保客户端版本与服务器版本兼容,以免出现兼容性...

    新闻发布系统-精简版

    【新闻发布系统-精简版】是一款基于ASP.NET框架开发的应用程序,主要用于在线发布、管理和更新新闻内容。ASP.NET是微软公司推出的Web应用程序开发平台,它提供了丰富的控件库、自动状态管理以及强大的安全性,使得...

    Oracle10.2完美精简版客户端仅30M

    精简版客户端通常会移除一些高级特性,例如企业管理器、报表服务器、数据泵等,但保留了基本的连接和查询功能,适用于小型企业或个人用户。对于那些不需进行大量数据库操作或只进行简单查询的用户,Oracle 10.2完美...

    程序员超级开发宝典精简版

    数据库章节包括关系型数据库(如MySQL)和非关系型数据库(如MongoDB)的基本原理,以及SQL查询语言,对于数据存储和检索的操作必不可少。 前端技术部分涵盖HTML、CSS、JavaScript,以及React、Vue等前端框架,帮助...

    数据库面试题(精简版).rar

    面试中可能会涉及SQL查询语句(SELECT)、数据插入(INSERT)、更新(UPDATE)、删除(DELETE)以及数据库表的创建、修改和删除(DDL,Data Definition Language)。 2. 数据库设计:数据库设计包括概念设计、逻辑...

Global site tag (gtag.js) - Google Analytics