SQL初级阶段笔记

  1. DataBase Management Stystem(数据库管理系统)简称:DBSM;虽然DBSM并不等于数据库,但行业内通常将DBSM称为数据库,所以一般来说数据库就指的是DBSM。
  2. 简单来讲DBSM就是我们知道的:MYSQL、MSSQLServer、DB2、Oracle、Access、Sybase等。
  3. SQL<>SQLServer<>MSSQLServer。/*注意这里的"<>"代表不等于*/。
  4. 主键分为业务主键和逻辑主键

    所谓的业务主键:使用有业务意义的字段做主键。

    所谓的逻辑主键:使用没有任何业务意义的字段做主键。(完全给程序看的)

  5. 主键的设置要求

      1. 不会重复的列;

      2. 推荐用逻辑主键作为主键;   

  6. 为什么要使用主键

   一个表中可以没有主键,但是会非常难以处理,因此没有特殊理由,表重要设置主键。

  7. 何为外键

    比如说:我要进货,可能会进不同厂家的货物,由于在同一厂家我不一定只进一类东西,因此当我记录账单的时候,必然要记录厂家的地址、电话等,对于不同类货物且同一厂家进行记录时,还要每次都要重复的写厂家地址等,在数据库中我们可以用一个代号将一些重复的数据进行替代,这样也减少了存储空间的使用,对于这个代号来说,它是重复要写地址所在表中的主键,且又是主表中的外键!

  8. 打开Microsoft SQL Server Management Studio之后的连接如下图:

  

服务器名称填写方式:计算机全称\实例名 或者 .\实例名 或者 还可以直接输入"(local)"进行连接。这样就可以通过本地验证进行连接

  9. 新建数据库:

    在连接后的“对象之源管理器”中,我们可以看到“数据库”,然后右键点击数据库,再出现的菜单栏中选中“新建数据库(N)”然后如下图所示:

  

在上边只要填写数据库名称就可以了!然后点击确定就OK了!

  10. 新建表:

    展开你新建的数据库,右键点击“表”,再出现的菜单栏中选中"新建表(N)",然后就可以添加字段也就是(列),并对数据类型进行设置,相关设置我会在后边写出。

    也可以用SQL语句建立新表:

    CREATE TABLE 表名(字段 类型名 是否为Null,字段 类型名 是否为Null,字段 类型名 是否为Null.............)

    例如:CREATE TABLE Preson(ID int NOT NULL,Name nvarchar(50),Age int)

    这样就建立了如下表:

ID Name Age
     

  11. 常见的数据类型有:

    1. 字符串数据类型
      char
        此数据类型可存储1~8000个定长字符串,字符串长度在创建时指定;如未指定,默认为char(1)。每个字符占用1byte存储空间。
      nchar
        此数据类型可存储1~4000个定长Unicode字符串,字符串长度在创建时指定;如未指定,默认为nchar(1)。每个字符占用2bytes存储空间。
      varchar
        此数据类型可存储最大值为8000个字符的可变长字符串。可变长字符串的最大长度在创建时指定,如varchar(50),每个字符占用1byte存储空间。
      nvarchar
        此数据类型可存储最大值为4000个字符可变长Unicode字符串。可变长Unicode字符串的最大长度在创建时指定,如nvarchar(50),每个字符占用2bytes存储空间。
      text
        此数据类型可存储最大值为2147483647个字符的变长文本,并且无需指定其初始值,每个字符占用1byte存储空间,一般用来存储大段的文章。text数据类型实际上是一个Large Object数据类型,        默认情况下,此类型的数据不是存储在数据行内,而是存储于独立的Large Object数据页上。另外,text数据类型不能做为函数、存储过程或触发器中的参数来用。
      ntext
        同text数据类型,只不过存储的是最大值为1073741823个字符的Unicode变长文本,每个字符占用1byte存储空间。
        说明:无论使用哪种字符串数据类型,字符串值必须放在引号内,推荐使用单引号。

    一般情况下我是这样区别

      varchar和nvarchar的区别:

      nvarchar中可以有像“汉字”、“日语”等文字,但varchar不允许。

      varchar(10)和char(10)

      char(10)不管你的字符够不够10位,我都会将空间给你留下。

      varchar(10)你有几个我给你几个,但前提是不能超过10。

    2. 数值数据类型
      bit
        此数据类型存储值为0或1的二进制字段。占用1byte存储空间。
      tinyint
        此数据类型存储0~255的整数,占用1byte存储空间。
      smallint
        此数据类型存储-32768~32767的整数,占用2bytes存储空间。
      int
        此数据类型存储-2147483648~2147483647的整数,占用4bytes存储空间。
      bigint
        此数据类型存储-9223372036854775808~9223372036854775807的整数,占用8bytes存储空间。
      decimal/numeric
        这两个数据类型功能相同,均为存储精度可变的浮点值。但推荐采用decimal,因其存储的数据“更有说明性”。此种数据类型由两个值来确定decimal(p,s),p为精度,s为标量,如decimal(3,2),其中        数值2为小数的位数,那么decimal(3,2)可用来存储如1.28这样的浮点数。此种数据类型占用的存储空间取决于精度值p。p为1~9,占用5bytes存储空间;p为10~19,占用9bytes存储空间;p为         20~28,占用13bytes存储空间;p为29~38,占用17bytes存储空间。
      float
        此数据类型存储1~53的可变精度的浮点值,精度表示为float(n),n表示科学记数法的尾数,取值范围为-1.79E+308~-2.23E-308的负数和2.23E-308~1.79E+308的正数。其存储空间由精度值        决定,n为1~24,占用4bytes存储空间;n为25~53,占用8bytes存储空间。
      real
        此数据类型存储-3.40E+38~-1.18E-38的负数和1.18E~3.40E+38的正数。占用4bytes存储空间。
      smallmoney
        此数据类型存储-214748.3648~214748.3647的货币值,精确到小数后4位。占用4bytes存储空间。
      money
        此数据类型存储-922337203685477.5808~922337203685477.5807的货币值,精确到小数后4位。占用8bytes存储空间。
    3. 日期和时间数据类型
      smalldatetime
        此数据类型存储从1900年1月1日到2079年6月6日的日期。占用4btyes存储空间。
      datetime
        此数据类型存储从1753年1月1日到9999年12月31日的日期。占用8bytes存储空间。
    4. 二进制数据类型
      binary
        此数据类型存储1~8000个字符的二进制数据,其指定长度即为占用的存储空间。
      varbinary
        此数据类型存储可变长的二进制数据,可在创建时指定其具体长度,也可不指定。
    5. 其它数据类型
      rowversion/timestamp
        这两种数据类型功能一样,但Microsoft建议在任何情况下尽可能地指明rowversion而不是timestamp,因为rowversion更加准确地反应了数据类型的真实性质。timestamp数据类型跟时间完全无        关,它表明数据库中的数据修改发生的相对顺序。不要在键(尤其是主键)中使用timestamp列,因为每次修改行时,timestamp值都会更改。当指定数据类型为rowversion或timestamp,那么         SQL Server会在对表的插入或删除等更新操作时自动生成一个新值,并把这个新值放在合适的字段里。此类型数据占用8bytes存储空间。
      uniqueidentifier
        此类型数据存储二进制值,其作用与全局唯一标识符(GUID)一样。GUID 主要用于在有多个节点、多台计算机的网络中,分配必须具有唯一性的标识符。占用16bytes存储空间。

  12. 主键的设置:

  

右键点击如图所示中的位置,在弹出来的菜单中选中设置主键就OK了。当想取消将其作为主键的时候右键点击,选中“删除主键”就OK了。

  13.字段的添加和删除:

    在上图12中,对应的“列命”、“属性类型”、“允许Null值”中对应填写就可以。若保存后,想进行修改,就右键点击你新建的表——》设计(G)——》然后就可以填写了!

  不知大家注意了没有:主键不能为空!

  14. 在表中填充数据:

    右键点击你新建的表——》编辑前200行(E)——》然后就可以填写了!

  15. SQL语句:是和DBMS交谈专用的语句。

   注意:SQL字符串用单引号;

      SQL语句大小写不敏感;

      SQL语句

  16.   

    

  

    

     

     

      

时间: 2024-08-09 06:35:10

SQL初级阶段笔记的相关文章

Oracle之PL/SQL学习笔记

自己在学习Oracle是做的笔记及实验代码记录,内容挺全的,也挺详细,发篇博文分享给需要的朋友,共有1w多字的学习笔记吧.是以前做的,一直在压箱底,今天拿出来整理了一下,给大家分享,有不足之处还望大家批评指正. PL/SQL定义:PL/SQL是由Oracle开发,专门用于Oracle的程序设计语言. PL---Procedural Language. SQL—Structure QueryLanguage.PL/SQL包括过程化语句和SQL语句     PL/SQL的单位:块. 一个块中可以嵌套

SQL学习笔记:选取第N条记录

Northwind数据库,选取价格第二高的产品. 有两种方法,一个是用Row_Number()函数: SELECT productname FROM (SELECT TOP 2 productname, Row_Number() OVER (ORDER BY unitprice desc) AS rownum FROM Products) AS tbl WHERE rownum = 2; 另一种是对子语句的的结果再进行排序: SELECT top 1 productname FROM (SELE

SQL课堂笔记

--注释 公司里一般而是用绝不重复的guid()做主键(web项目不常用) 如null参与运算,结果都是null 在数据库中创建索引能提高查询效率,)只在经常要检索的字段创建索引) sql查询null的数据 selsct * from table where name is null 查询年龄介于20到30的数据 selsct * from table where age between 20 and 30 查询年龄是20,22,32,46的数据 selsct * from table wher

#1 SQL入门笔记(1)

今天的笔记主要讲解的是数据库的一些常识.和数据库的创建.创建数据库的方法都是差不多的,所以掌握了这个,创建数据库就Ok了(正常使用够了).当然在实际工作中用这个创建数据库还是比较少的.都是用建库工具(eg:PowerDesign)来设计数据库的. ---2014.07.29 常用的数据库: MS: SqlServer2008->.NETIBM: DB2 ->烟草..甲骨文: oracle ->银行,证券...非商业:MYSQL->IBM,Oracle->小型站点ACCESS,

#2 SQL入门笔记(2)

这一笔记主要讲的是,创建表,创建约束.数据库的增删. 经验:1,建表的时候最好考虑用什么数据,因为用不恰当的数据会浪费空间 2,每一个表都要有联系,没有联系的表是没有意义的.. 3,把做表和做约束分开来做...看起来清晰,容易理解 4,字段最好用   [ ]扣起来 =========================================== 知识点: 一,SQL中的数据类型有以下几种 1,精确数字: tinyint(0~255),smallint(-32768~32767),int(2

SQL优化笔记—CPU优化

补充:常规服务器动态管理对象包括,下面有些资料可能会应用到 dm_db_*:数据库和数据库对象dm_exec_*:执行用户代码和关联的连接dm_os_*:内存.锁定和时间安排dm_tran_*:事务和隔离dm_io_*:网络和磁盘的输入/输出 优化性能的常用方法是检索速度最慢的查询构成您 SQL Server 实例上的正常. 每日工作负载的一部分,然后调整它们,一个接一个的"Top 10"列表. 跟踪会话. 请求 和 SQL Server 基础架构中的最耗费大量资源,查询和执行时间最长

Oracle之PL/SQL学习笔记之触发器

Oracle之PL/SQL学习笔记之触发器 触发器是许多关系数据库系统都提供的一项技术.在ORACLE系统里,触发器类似过程和函数,都有声明,执行和异常处理过程的PL/SQL块. 触发器在数据库里以独立的对象存储,它与存储过程和函数不同的是,存储过程与函数需要用户显示调用才执行,而触发器是由一个事件来启动运行. 即触发器是当某个事件发生时自动地隐式运行.并且,触发器不能接收参数.所以运行触发器就叫触发或点火(firing).ORACLE事件指的是对数据库的表进行的INSERT. UPDATE及D

Oracle之PL/SQL学习笔记之数据类型(三)

Oracle之PL/SQL学习笔记之数据类型(三) 所有的编程语言中变量是使用最频繁的.PL/SQL作为一个面向过程的数据库编程语言同样少不了变量,利用变量可以把PL/SQL块需要的参数传递进来,做到动态执行程序,同时也可以利用变量在PL/SQL内部进行值得传递,甚至可以把值传递出去,最终返回给用户,由此可见,变量是PL/SQL不可或缺的一部分. 1. Oracle预定义的普通数据类型(常见的数据类型) 类型 子类 说明 Oracle中的范围 char Character,String Rowi

pl/sql 基础笔记(上)

由于公司中使用 oracle,而本人对存储过程一直也懵懵懂懂,故一周时间学习了一遍 pl/sql,在此记下笔记!!! 一.前提,pl/sql 是啥? 1.PL/SQL是一种高级数据库程序设计语言,该语言专门用于在各种环境下对ORACLE数据库进行访问. 2.由于该语言集成于数据库服务器中, 所以PL/SQL代码可以对数据进行快速高效的处理. 3.PL/SQL 是 ORACLE 系统的核心语言,现在 ORACLE 的许多部件都是由 PL/SQL 写成. 4.在 PL/SQL 中只能用 SQL 语句