数据库的一些知识

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/h_h_1122/article/details/81636773

选择主键的原则:

1.最少性:尽量选择单个键作为主键;

2.稳定性:尽量选择数值更新少的列作为主键

T--SQL的组成

DML(数据操作语言)

——查询,插入,删除和修改数据库中的数据;

——select  insert   update  delete

DCL(数据控制语言)

——用来控制存取许可,存取权限等

——grant    revoke等

DDL(数据定义语言)

——用来建立数据库,数据库对象,定义列

——create   table   drop    table等

插入数据行:

insert  [INTO] <表名>  [列名]  values<值列表>

事项:

1.每次插入一行数据,不可能只插入半行或几列数据,因此插入的数据是否有效将按照行的完整性的要求来检验;

2.每个数据值的数据类型,精度和小数位数必须与相应的列匹配;

3.不能为标识列指定值,因为它的数字是自动增长的;

4.如果在设计表的时候就指定了某列不允许为空,则必须插入数据;

5.插入的数据项要求符合检查约束的要求;

6.具有缺省值的列,可以使用default(缺省)关键字来代替插入的数值。

插入多行数据:

1.insert  into <表名> (列名)

   select <列名>

   from  <源表名>

2.select (列名)

    into  <表名>

    from  <源表名>

3.select  identity(数据类型、标识种子、标识增长量)

    AS  列名

    into  新表

    from  原始表

4.insert  into <表名>  (列名)

  select <列名> union

   select <列名> union

   ...........

5.更新数据行:

update <表名> set  <列名=更新值>

[where <更新条件>]

6.删除表

delete from <表名>  [where <删除条件>]

7.删除数据行

 truncate  table<表名>

 查询:select  *from  sales

查询产生一个虚拟表,看到的表形式显示的结果,但结果并不真正存储,每次执行查询只是从数据表中提取数据,并按照表的形式显示出来。

select <列名>

 from   <表名>

[where  <查询条件表达式> [ASC或DESC] ]

分组查询:group by  ;    having;  where对比:

1.where子句从数据源中去掉不符合其搜索条件的数据;

2.group by子句搜集数据行到各个组中,统计函数为各个组计算统计值;

3.having子句去掉不符合其组搜索条件的各组数据行。

多表联结查询:

1.内联结(inner,join);     2.外联结:左外联结(left,join)  右  外联结(right,join)  完整外联结(full  join); 3.交叉联结(cross  join)

聚合函数

常用的聚合函数:SUM   MIN    MAX   AVG    COUNT。

列表操作符:IN ,  NOT  IN

范围操作符:between,not between

查找空值操作符:IS NULL,IS NOT NULL

猜你喜欢

转载自blog.csdn.net/h_h_1122/article/details/81636773