你的位置:首页 > 数据库

[数据库]SQL从入门到基础–03 SQLServer基础1(主键选择、数据插入、数据更新)


一、SQL语句入门

  1. SQL语句是和DBMS“交谈”专用的语句,不同DBMS都认SQL语法。

  2. SQL语句中字符串用单引号。

  3. SQL语句中,对于SQL关键字大小写不敏感,对于字符串值大小写敏感。

  4. 创建表、删除表不仅可以手工完成,还可以执行SQL语句完成,在自动化部署、数据导入中用的很多,Create Table T_Person(Id int not NULL,Name nvarchar(50),Age int NULL)、Drop Table T_Person1

  5. 简单的Insert语句:

     INSERT INTO T_Person(Id,Name,Age)VALUES(1,’Jim’,20)

wps766D.tmp

  6. SQL主要分DDL(数据定义语句)和DML(数据操作语言)两类。Create Table、Drop Table、Alter(修改) Table等属于DDL,Select、Insert、Update、Delete等属于DML。

二、主键选择

  1. SQLServer中两种常用的主键数据类型:int(或bigint)+标识列(又称自动增长字段);uniqueidentifier(又称Guid、UUID)

  2. 用标识列实现字段自增可以避免并发等问题,不要开发人员控制自增。用标识列的字段在Insert的时候不用指定主键的值。将字段的“是标识列”设置为“是”,一个表只能有一个标识列。

wps768E.tmp

wps768F.tmp

  3. Guid算法是一种可以产生唯一标识的高效算法,它使用网卡MAC、地址、纳秒级时间、芯片ID码等算出来的,这样保证每次生成的Guid永远不会重复,无论是同一个计算机还是不同计算机。SQLServer中生成GUID的函数newid(),.Net中生成Guid的方法:Guid.NewGuid(),返回是Guid类型。

   (1)GUID生成器

wps7690.tmp

   (2)SQLServer中生成GUID的函数newid()

wps7691.tmp

   (3).Net中生成Guid的方法:Guid.NewGuid(),返回是Guid类型

wps76A1.tmp

wps76A2.tmp

  4. int自增字段的优点:占用空间小、无需开发人员干预、易读;缺点:效率低;数据导入导出的时候不方便。

  5. Guid的优点:效率高、数据导入导出方便;缺点占用空间大、不易读。

  6. 业界主流倾向于使用Guid。

三、数据插入

  1. Insert语句可以省略表名后的列名,但是不推荐。

  2. 如果插入的行中有些字段的值不确定,那么Insert的时候不指定那些列即可。

   (1)

wps76A3.tmp

   (2)

wps76B4.tmp

  3. 可以给字段设置默认值,如果Guid类型主键的默认值设定为newid(),就会自动生成。(很少用)

四、数据更新

  1. 更新一个列:update T_Person Set Age=10

  2. 更新一个列:update T_Person Set Age=10,Name=’tom’

  3. 更新一部分数据:update T_Person Set Age=10 where Name=’tom’,用where语句表示只更新Name是‘tom’的行,注意SQL中等于判断用单个“=”,而不是“==”。

  4. where中还可以使用复杂的逻辑判断

Update T_Person Set Age=10 where Name=’tom’ or Age<25,or相当于C#中的||(或者)。

  5. where 中可以使用的其他逻辑运算符:or、and、not、<、>、>=、<=、!=(或<>)等。