Sql总结1.数据模型主要有:层次模型,网状模型,关系模型,2.数据库设计的步骤:需求分析,概念结构设计,逻辑结构设计,数据库物理设计,数据库实施,数据库运行和维护六个阶段。3.实体之间的关系:一对一、一对多、多对多。4.数据库文件主要有:主数据文件、次数据文件、日志文件其中次数据文件是可选的。--这是建库的过程ifexists(select*fromsysdatabaseswherename='tt'dropdatabasettcreatedatabasetton(name=tt,filename='d:\data\tt.mdf',size=4mb,maxsize=50mb,filegrowth=15%logon(name=tt1,filename='d:\data\tt1.ldf',size=5mb,maxsize=79mb,filegrowth=15%--这是对数据库的修改alterdatabasettmodifyfile(name=tt1,maxsize=89mb--增加日志文件alterdatabasettaddlogfile(name=oo,filename='d:\data\oo.ldf',size=5mb,maxsize=79mb,filegrowth=15%----查看数据库sp_helpdbtt5.重要的数据类型Intfloatchar(sizedatetimevarchar(size6.在数据库中添加表usettgoifexists(select*fromsysobjectswherename='t_li'droptablet_licreatetablet_li(achar(4notnull,bintnotnull,cdatetimeinsertintot_livalues('yy',78,2012-5-12insertintot_li(a,bvalues('ttf',89select*fromt_li--新建一个表,往表里添加t_li的数据createtablet_ti1(achar(4notnull,bintnotnullinsertintot_ti1selecta,bfromt_li---这种方法不用重建selecta,bintot_li2fromt_liselect*fromt_li26.使用union关键字插入多行数据---利用union一次插入多行数据insertintot_li(a,b,cselect'aa',55,2012-8-12unionselect'cc',54,2032-5-127.对数据表进行操作---对表的修改altertablet_lialtercolumnachar(8select*fromt_li--添加字段altertablet_liadddchar(9--删除字段altertablet_lidropcolumnd--表的查询select*fromt_li8.对字段添加约束---添加主键约束应该注意是主键约束字段的值不能是重复的altertablet_liaddconstraintpk_aprimarykey(a---添加外键约束altertablet_liaddconstraintfr_bforeignkey(breferencest_li4(b--添加唯一约束altertablet_liaddconstraintt_li_uqunique(a---添加默认约束altertablet_liaddconstraintt_li_dfdefault(20forb--添加check约束altertablet_liaddconstraintt_li_ckcheck(bbetween0and50---删除约束altertablet_lidropconstraintt_li_ck9.对于表的查询(单表查询select*fromCustomersselectc_ID,c_Name,c_TrueName,c_PasswordfromCustomers-----(查询WebShop数据库中会员信息表Customers中会员的编号(c_ID、-----用户名(c_Name、真实姓名(c_TrueName、年龄(c_Age和密码(c_Password。selectc_ID,c_Name,c_Truename,year(getdate(-year(c_Birth'c_Age',c_PasswordfromCustomersselect会员的编号=c_ID,用户名=c_Name,c_TrueNameas'真实名字',c_Password'名字'fromCustomersselect*fromCustomerswherec_Type='VIP'--6将VIP客户的编号(c_id、姓名(c_name、出生日期(c_birth、籍贯(c_address、--------联系电话(c_phone和地址(c_email显示出来并以汉字标题显示列名。select编号=c_id,姓名=c_name,c_birthas'出生年月',c_address籍贯,c_phoneas'联系电话',c_email'地址'fromCustomerswherec_Type='VIP'----(将湖南的VIP客户记录显示出来。select*fromCustomerswherec_Address='湖南株洲市'ANDC_Type='VIP'-----(将的客户记录显示出来。select*fromCustomerswherec_Emaillike'%163.com'----(将前%的客户记录显示出来。selecttop10percent*fromCustomers----(将姓刘的客户记录显示出来。select*fromCustomerswherec_TrueNamelike'刘%'-----(将客户按年龄进行降序(由大到小排序。selectyear(getdate(-year(c_Birthas'c_Age'fromCustomersorderbyyear(getdate(-year(c_Birthdesc----(将客户按类型升序排序,如果类型相同按年龄的降序进行排序。select*fromCustomersorderbyc_Type,year(getdate(-year(c_birthdesc10.对表中数据的操作---对表中数据的操作---修改表中的数据---把学号为的同学的名字改为xiaoxinupdatestudentsetname='xiaoxin'wheresno='01'---删除表中数据deletefromstudentwheresno='01'如果要删除整个表中的数据,还可以使用Truncatetable语句它相当于与一个没有where子句的delete语句。与delete相比,他在执行时使用的系统资源和事务日志更少,执行速度更快例如要将图书表中的所有数据删除。TruncatetablebooksTruncatetable只能删除表中的数据行,不会删除表结构及各种约束。Truncatetable不能删除具有引用关系的数据表(引用关系是两个表的主关键字和外关键字的数据应对应一致,这属于_____引用___完整性11.sql语句的全称是structurequerylanguage12.要求一个人的年龄year(getdate(-year(birth13.聚合函数--计算所有会员的积分之和。selectsum(upointfromcustomers--计算所有会员的平均积分。selectavg(upointfromcustomers--计算所有会员的最高积分。selectmax(upointfromcustomers--计算所有会员的最低积分。selectmin(upointfromcustomers--统计会员表中积分大于的会员个数。selectcount(*fromcustomerswhereupoint30014.分组selectsex,count(sexas个数fromcustomersgroupbysexselectcity,sex,count(sexfromcustomersgroupbycity,sexhavingcount(sex2having与where的用法一样,但是having与groupby一块用15.内连接--查找某位同学的学号,姓名以及他的得分selectstudent.sid,sname,scorefromstudentinnerjoinscoreonstudent.sid=score.sidselectsc.sid,s.sname,sc.scorefromstudentsinnerjoinscorescons.sid=sc.sidselectsc.score,s.sname,sc.sidfromscorescinnerjoinstudentsons.sid=sc.sid----三个表的内连接selectsc.score,s.sname,c.cnamefromscorescinnerjoinstudentsons.sid=sc.sidjoincourseconc.cid=sc.cid--内连接需要进行条件筛选,直接在后面加where既可selectsc.score,s.sname,s.sgender,sc.cidfromscorescinnerjoinstudentsons.sid=sc.sidwheres.sgender='男'--笛卡尔乘积(交叉连接selects.sname,sc.scorefromstudents,scoresc--查询不满足条件的内连接(不等值连接结果集selectsc.score,s.sname,sc.cidfromscorescinnerjoinstudentsons.sidsc.sid--另一种内连接查询方法--两个表的内连接(等值连接selectsc.score,s.sname,sc.cidfromscoresc,studentswheres.sid=sc.sid--三个表的内连接(等值连接selectsc.score,s.sname,c.cnamefromscoresc,students,coursecwheres.sid=sc.sidandsc.cid=c.cidselectsc.score,s.sname,sc.cidfromscoresc,studentswheres.sidsc.sid16.外连接-----左外连接select*fromstudentselect*fromscoreselect*fromstudentsleftouterjoinscorescons.sid=sc.sid--右外连接selects.sname,sc.cid,sc.scorefromstudentsrightouterjoinscorescons.sid=sc.sid--完全外连接selects.sname,sc.score,sc.cidfromscorescfullouterjoinstudentsons.sid=sc.sid--联合查询select*fromtesttableunionselect*fromcourse17.视图--可以创建一个“热点”商品的视图。---createviewvw_HotGoodsasselectg_idas商品号,g_nameas商品名称,t_idas类别号,g_priceas价格,g_discountas折扣,g_numberas数量fromGoodswhereg_status='热点'--查看视图--select*fromvw_HotGoods--查看生成视图代码--sp_helptextvw_HotGoods*【任务-2】需要了解所有订单所订购的商品信息(商品名称、购买价格和购买数量和订单日期,同时将创建的视图文本加密。*/createviewvw_allorderswithencryption