黑马程序员_sql一些知识点总结

来源:互联网 发布:mac wav 转 mp3 编辑:程序博客网 时间:2024/06/02 13:23

---------------------- Windows Phone 7手机开发、Net培训、期待与您交流! ----------------------

关于数据库知识点的一些总结(不包括触发器、索引和存储过程)

DBMS(DataBse Management System,数据库管理系统).平时谈到"数据库"可能有两种含义:
MSSQLServer、Oracle等某种DBMS;存放一堆数据表的一个分类(Catalog)

不同品牌的DBMS有自己的不同的特点:MYSQL、MSSQLServer、DB2、Oracle、Access、Sybase等。对开发人员来讲,大同小异。
Catalog(分类)(又叫数据库DataBase、表空间TableSpace),不同类的数据应该放在不同的数据库中

Table(表)、列(Column)、字段(Field)
PrimaryKey(主键)、ForeignKey(外键)
数据定义语言(ddl):create、alter、drop
数据库操作语言(dml):insert、delete、update、select
创建数据库:Create DataBase db_name
创建表:create table t_name (列名1 类型 是否为空 是否为主键,列名2 类型 是否为空 ,列名2 类型 是否为空 ....)
删除数据库:drop database db_name
删除表:drop table t_name

完整性和约束,约束是保证数据库数据完整性的重要方法
完整性:实体完整性、域完整性和参照完整性
实体完整性:把数据表中的每一行看做一个实体,它要求所有的行都具有唯一的标识。
域完整性:要求数据表中指定列具有正确的数据类型、格式和有效的数据范围
参照完整性:要求被参照表和参照表中数据的一致性

约束:在SQL SEVER中有5种约束(primary key、foreign key、unique约束、check约束、和default约束)

向数据库表中插入数据:insert into tablename(columnname1,columnname2,columnname3..) values(值1,值2,值3)
                   insert into tablename1(列1,列2,列3) select (列1,列2,列3)from tablename2

删除表中数据: delete from tablename where (条件)

更新表中数据: update tablename set 列1=值1,列2=值2....where (条件)

查询表中数据: select * [into 新表] from 旧表 [where 条件] [group by 字段] [having 筛选条件][order by 排序要求]
where 子句中不能使用聚合函数

以下是几个查询例子:
获得当前日期的年份:select Year(getdate()) as '年'
查询所有同学的信息:select s_name as '姓名' ,Year(getdate())-Year(birthday) as '年龄' from t_student

在数据库查询中有很多限制条件或者结果的关键字(top、distinct、percent、is 、not、like、escape、any、exists、(inner、outer)join on、union、except、intersect )
使用distinct 关键字删除重复的查询结果行

使用top n返回查询的前n行数据

查询60%同学的信息:select top 60 percent * from t_student


 

---------------------- Windows Phone 7手机开发、 .Net培训 期待与您交流! ----------------------

详情请查看:http://net.itheima.com