资源描述:
《自定义查询sql基础培训》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1 SQL语句的常用操作1.1 创建数据库举例:CREATEDATABASETest --数据库名称ON (name=test_data,--逻辑名称filename='d:test_data.mdf',--物理名称size=3mb,--初始大小maxsize=15mb,--上限filegrowth=1mb--每次增长1Mb)LOGON(name=test_log,filename='d:test_log.ldf',size=3mb,maxsize=15mb,filegrowth=1mb)1.2 创建表举例:C
2、reateTableCustomer( CustIDintIDENTITY(1,1)PRIMARYKEYNOTNULL, CustNamenvarchar(50)NOTNULL, Citynvarchar(20)NOTNULLDEFAULT'暂无', Phonenvarchar(50)NULL, Addressnvarchar(200)NULL)1.3 添加数据方法1举例: INSERTINTOCustomer(CustName,Phone,Address)VALUES('张三','18123556554','北京
3、')DECLARE@iINTSET@i=0WHILE@i<10BEGIN INSERTINTOCustomer(CustName,Phone,Address) VALUES('李四'+convert(nvarchar(2),@i),'18123556554','北京') SET@i=@i+1END 方法2举例:可以复制表结构和数据,但不能复制主键,约束,索引等。SELECTCustID,CustName,Phone,CityINTOCustomer2FROMCustomer1.4 添加修改删除表列添加列举例:ALT
4、ERTABLECustomerADDCustNointNull,CustAgeintNULL修改列举例: ALTERTABLECustomerALTERCOLUMNCustAgebigintNULL 删除列举例: ALTERTABLECustomerDROPCOLUMNCustAge1.5 修改数据方法举例: UPDATECustomerSETCustName='王五'WhereCustID=121.6 删除数据方法1举例: DELETECustomerWHERECUSTID>15方法2举例:删除全部数据没有W
5、HERE子句,速度快 TRUNCATETABLECustomerTemp TRUNCATE不能触发任何Delete触发器,DELETE对每条记录的删除均需要记录日志,TRUNCATE全部删除,速度比DELETE快,占资源少,并且只记录页删除的日志1.7 删除表举例: DROPTABLECustomer21.8 查询数据举例: SELECTTOP100*FROMCustomerWITH(NOLOCK) WHERECity='暂无'ORDERBYCustName 大数据量大的时侯,没有加nolock有可能会锁表,加上了
6、nolock可能会读取未提交的事务或一组在读取中间回滚的页面,有可能发生脏读的风险。分组查询举例: UPDATECustomerSETSumCustNo=1SELECTAddress,SUM(CustNo)ASSumCustNo FROMCustomerGROUPBYAddressHavingCOUNT(*)>1一般都和聚和函数使用,如果没有用聚合函数的话用DISTINCT来代替速度快。1.9 SQL分类 DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE)DML—数据操纵语言(SELECT
7、,DELETE,UPDATE,INSERT)DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK)1.10 SQL执行顺序5>SELECT5-1>列,5-2>DISTINCT,5-3>TOP1>FROM表2>WHERE条件3>GROUPBY列4>HAVING对组筛选条件6>ORDERBY列排序2 SQLSERVER的关联查询CREATETABLECustomerRoom ( RoomIDintidentity(1,1)primarykeynotnull, RoomSignnvarchar(
8、50)notnull, CustIDint, RoomTypenvarchar(50))insertintoCustomerRoom(RoomSign,CustID,RoomType)select'1-1-1',1,'住宅'unionallselect'1-1-2',32,'商铺'unionallselect'1-1-3',34,'公寓'unionallse