1.主键约束:要对一个列加主键约束的话,这列就必须要满足的条件就是非空因为主键约束:就是对一个列进行了约束,约束为(非空、不重复)以下是代码 要对一个列加主键,列名为id,表名为emp
格式为:alter table 表格名称 add constraint 约束名称 增加的约束类型 (列名)
例子:alter table emp add constraint ppp primary key (id)
2.check约束:就是给一列的数据进行了限制比方说,年龄列的数据都要大于20的表名(emp) 列名(age)
格式:alter table 表名称 add constraint 约束名称 增加的约束类型 (列名)
例子:alter table emp add constraint xxx check(age>20)
3.unique约束:这样的约束就是给列的数据追加的不重复的约束类型
格式:alter table 表名 add constraint 约束名称 约束类型(列名)比方说可以给ename列加个unique,让ename列的数据不重复例子:alter table emp add constraint qwe unique(ename)
4.默认约束:意思很简单就是让此列的数据默认为一定的数据
格式:alter table 表名称 add constraint 约束名称 约束类型 默认值) for 列名
比方说:emp表中的gongzi列默认为10000
alter table emp add constraint jfsd default 10000 forgongzi
5.外键约束:这个有点难理解了,外键其实就是引用因为主键实现了实体的完整性,外键实现了引用的完整性,应用完整性规定,所引用的数据必须存在!
其实就是个引用,比方说一个表名称叫dept 里面有2列数据 一列是ID一列是ENAMEid:表示产品的编号ename:表示产品的名称
另外一个表格名称是emp 里面有2列数据,一列是ID 一列是DIDid:表示用户号did:表示购买的产品号
要让emp表中的did列去引用dept表中的id
可以用下面的方法
格式:alter table 表名 add constraint 约束名称 约束类型 (列名) references 被引用的表名称(列名)
例子:alter table emp add constraint jfkdsj foreign key (did) references dept (id)
SQL常用命令使用方法:
数据记录筛选:
select*from Products:查询出Products表里面的所有信息
select ProductID,ProductName from Products:查询出Products表里面所有的ProductID,ProductName
select ProductID,ProductName from Productswhere ProductID=1:查询出Products表里面ProductID=1的所有ProductID和ProductName
select* from employee where fname=‘Paul‘ andjob_id=5 :查询出employee表中fname=Paul,并且job_id=5的所有记录
select*from Products where ProductIDin(4,5,6):查询出Products表中ProductID为4,5,6的所有信息
select*from Products where UnitPrice>10and UnitPrice<30 order by UnitPrice:查询出Products表中10 select*from Products where UnitPrice between10 and 30 order by UnitPrice:上面的另外一种写法 select * from Employees where FirstName like‘A%‘:查询出Employees中FirstName里面第一个字母是A的所有人信息 select*from Employees where FirstName like‘%A%‘:查询出Employees中FirstName里面中间有A的所有人信息 select*from Employees where FirstName like‘%A‘:查询出Employees中FirstName里面最后一个字母是A的所有人信息 select count(*) from Employees:查询出Employees表中的所有记录数 select min(Unitprice)from Products:查询出Products表中Unitprice的最小值 select max(Unitprice)from Products:查询出Products表中Unitprice的最大值 select avg(Unitprice)from Products:查询出Products表中Unitprice的平均值 select sum(Unitprice)from Products:查询出Products表中Unitprice的总和 select * from Products where Unitprice>(select avg(Unitprice) from Products):有子查询,查找出比平均值高的商品信息 select top 5* from Products:查询出前五条的记录信息 select distinct [name] from Category :查出Category 中不重复的name select count(distinct name) from Category :查出Category 中不重复的name的数量 (2) 更新数据记录:sql="update 数据表 set 字段名=字段值 where 条件表达式"sql="update 数据表 set 字段1=值1,字段2=值2 …… 字段n=值n where 条件表达式" (3) 删除数据记录:sql="delete from 数据表 where 条件表达式"sql="delete from 数据表" (将数据表所有记录删除) (4) 添加数据记录:sql="insert into 数据表 (字段1,字段2,字段3 …) values (值1,值2,值3 …)"sql="insert into 目标数据表 select 字段名 from 源数据表" (把源数据表的记录添加到目标数据表) (5) 数据记录统计函数:AVG(字段名) 得出一个表格栏平均值COUNT(*字段名) 对数据行数的统计或对某一栏有值的数据行数统计MAX(字段名) 取得一个表格栏最大的值MIN(字段名) 取得一个表格栏最小的值SUM(字段名) 把数据栏的值相加引用以上函数的方法:sql="select sum(字段名) as 别名from 数据表 where 条件表达式"set rs=conn.excute(sql)用 rs("别名") 获取统的计值,其它函数运用同上。 (5) 数据表的建立和删除:CREATE TABLE 数据表名称(字段1 类型1(长度),字段2 类型2(长度) …… )例:CREATE TABLE tab01(name varchar(50),datetime defaultnow()) DROP TABLE 数据表名称 (永久性删除一个数据表) 2. 记录集对象的方法:rs.movenext 将记录指针从当前的位置向下移一行rs.moveprevious 将记录指针从当前的位置向上移一行rs.movefirst 将记录指针移到数据表第一行rs.movelast 将记录指针移到数据表最后一行rs.absoluteposition=N 将记录指针移到数据表第N行rs.absolutepage=N 将记录指针移到第N页的第一行rs.pagesize=N 设置每页为N条记录rs.pagecount 根据 pagesize 的设置返回总页数rs.recordcount 返回记录总数rs.bof 返回记录指针是否超出数据表首端,true表示是,false为否rs.eof 返回记录指针是否超出数据表末端,true表示是,false为否rs.delete 删除当前记录,但记录指针不会向下移动rs.addnew 添加记录到数据表末端rs.update 更新数据表记录 排序 desc就是用于查询出结果时候对结果进行排序,是降序排序,而asc就是升序。。要用与order by一起用。 例如select * from student order by id desc; 就是把选出的结果经过“按id从大到小排序”后,把资源返回。还可以select * from student order by age desc,id desc;用“,”号隔开多个排序条件,这样,先按age 再按 id,就是说,先按age从大到小排序,如果有相同年龄的,那么相同年龄的学生再按他们的id从大到小排序。 DESC指排序时按降序排序ASC是升序。 SqlServer数据库知识点笔记