设为首页 收藏本站
查看: 822|回复: 0

[经验分享] sql server 入门总结(一)

[复制链接]
发表于 2016-10-30 10:27:50 | 显示全部楼层 |阅读模式
一.DDL
   

--建立数据库

       CREATE DATABASE test

         ON (   --数据文件

           NAME=test_dat.mdf,                  --数据库名

           FILENAME='d:\test_dat.mdf',     --数据库文件绝对路径 默认是在安装文件下

           SIZE=5MB,                     --指定大小 默认为1MB 最小值为 512KB
         
           MAXSIZE=20MB,             --指定是文件最大值 ,UNLIMITED 表示不限大小

           FILEGROWTH=15%           --指定文件增长大小,默认值为10% ,最小值为64KB
         )

         LOG ON (                --数据日志文件
           
          NAME=test_log.ldf,

          FILENAME='d:\test_dat.ldf',

          SIZE=2MB,

          MAXSIZE=5MB,

          FILEGROWTH=5%
        )


--修改数据库

    ALTER DATABASE test           --添加数据文件
   
       ADD FILE (
  
          NAME=test2_dat.ndf,
         
          FILENAME=d:\test2_dat.ndf
  
          SIZE=4MB,

          MAXSIZE=UNLIMITED,

          FILEGROWTH=4MB
       )
      
      
    ALTER DATABASE test REMOVE FILE test2_dat.ndf       --删除数据库次文件


    ALTER DATABASE test MODIFY FILE (             --修改数据库文件

         NAME=test2_dat.ndf  ,

         NEWNAME=newtest2_dat.ndf,
   
         SIZE=8MB
     )


     DROP DATABASE test2,test                --删除数据库


   
--  建立表

     CREATE TABLE  student (

        studentID  varchar(10) not null,

        name       varchar(8)  not null,
     
        sex        char (2)    null,

        password   varchar(15)  not null,

        grade      varchar (6)  null ,

        speciality  varchar (6)  null,

        phoneNumber  varchar (15) null,

        credit       real         null,

       CONSTRAINT PK_student_studentID PRIMARY KEY ( studentID),  --

       CONSTRAINT CK_student_studentID CHECK ( LIKE '[0-9][0-9][09][0-9][0-9]),

       CONSTRAINT CK_student_credit CHECK ( credit>0.5 AND credit<-100)    --建立字段约束
         
       )

      
    CREATE TABLE course (

          courseID varchar(4) not null,

          teacherID varchar(4) not null,

          courseName varchar(10) not null,

          courseClass varchar(8) not null,

          courseCredit real  nout null,

         
         CONSTRAINT PK_course_courseID PRIMARY KEY ( courseID ),    --表级主键

         CONSTRAINT FK_course_teacherID FOREIGN KEY ( teacherID)     --关联外键

     )

      
       CREATE TABLE teacher (
         
              teacherID  int IDENTITY(1,1) PRIMARY KEY not null,    --列级主键

              name  varchar (10) not null,

              position varchar (9) null

           )

          CREATE INDEX index_name on teacher(teacherID ,DESC)      --建立索引


          DROP  INDEX teacher index_name                           --删除所以

            
          ALTER TABLE teacher alter coulmn name varchar(8)        --修改字段

          ALTER TABLE teacher ADD sex varchar(2)                  --加入字段

          DROP TABLE teacher     --删除表



二.DML
        1.单表操作

         INSERT  teacher (name,sex) VALUES ('xiaolu','male')      --插入值

         
         UPDATE teacher  SET  position='professor',sex='female' WHERE             name='xiaolu'                                                     --修改记录


         DELETE teacher WHERE name='xiaolu'                       --删除记录




          SELECT GETDATE()                                        --当前时间

          SELECT UPPER('abc')                                     --ABC

          SELECT LOWER('ABC')                                     --abc

          SELECT RTRIM('ABC  ')                                --去除右边的空格

          SELECT LTRIM('  ABC')                              --去除左边的空格

          SELECT LTRIM(RTRIM('  ABC   ')                    --去除首尾的空格


          SELECT 123                                         --123
         
          SELECT 123+456                                    --579

          SELECT '123'+'456'                                --123456

          SELECT GETDATE() AS 当前日期 FROM tablename  --表中有几条记录就返回几条结果

          SELECT @@VERSION                            --当前数据库版本

          SELECT @@ERROR                               --检测是否有SQL syntax error

          SELECT @@ROWCOUNT                          --返回执行影响的行数


   
          SELECT  *FROM tablename                    --表中所有记录

          SELECT   name ,sex FROM student            --表中指定列记录

          SELECT   DISTINCT name FROM student          --去掉重复的记录


          SELECT   'china' AS nationality ,name

,sex,LTRIM(LTRIM(str(credit)))+'分' AS credit FROM student


/*加入一列 字段名 nationality'其值为 china; 将字段credit 字段中的值加一个字符‘分’单位*/



SELECT column1,column2,......,cloumnN FROM table_name (

          WHERE column1='***'       --  单一条件查询


   SELECT column1,column2,......,cloumnN FROM table_name (

          WHERE column1 IS NULL        --  NULL条件查询


    SELECT column1,column2,......,cloumnN FROM table_name (

          WHERE  column1='***'  AND  WHERE column2='****'   -与条件查询
)

      SELECT column1,column2,......,cloumnN FROM table_name (

          WHERE  column1='***' OR WHERE column2='****'   -或条件查询1
)
     

      SELECT column1,column2,......,cloumnN FROM table_name (

          WHERE  column3>=m  AND  column3<= n   --范围条件查询1
)
        SELECT column1,column2,......,cloumnN FROM table_name (

          WHERE  column3 BETWEEN m  AND  n ----范围条件查询2
)

     SELECT column1,column2,......,cloumnN FROM table_name (

          WHERE  column4 IN (i,j,k)   -或条件查询
)

       SELECT column1,column2,......,cloumnN FROM table_name (

          WHERE  column4 LIKE %某字符%   -全包含通配符条件查询
)
      
         SELECT column1,column2,......,cloumnN FROM table_name (

          WHERE  column4 LIKE 某字符%   --通配符开头条件查询
)   

           SELECT column1,column2,......,cloumnN FROM table_name (

          WHERE  column4 LIKE %某字符   -通配符结尾条件查询
)   

           SELECT column1,column2,......,cloumnN FROM table_name (

          WHERE  column4 LIKE %某字符   -结尾包含条件查询


             SELECT column1,column2,......,cloumnN FROM table_name (

          WHERE  column4 LIKE 某字符_   -某字符后面必须有且有个字符条件查询

)   

        当然这些WHERE 条件 查询 都可以可以 加入 NOT 关键字(但是不推荐使用,因为很可能影响效率) 比如:

    SELECT column1,column2,......,cloumnN FROM table_name (

         WHERE  column4 NOT LIKE 某字符_   -某字符后面必须有且有个字符条件查询

)   



                            /*聚合函数*/

     SELECT AVG(column5) AS 'column' FROM tablename  WHERE column6='**'                       --求一个数值型列的平均值


     SELECT COUNT(*) AS 'column' FROM tablename  WHERE  column2='**'                  --计算指定列中选择选择的项数


     SELECT column1 , MAX(column2)AS 'column' FROM tablename
--计算指定列中最大的值


     SELECT column2 ,MIN(column1) AS 'column' FROM  tablename
--计算指定列中最小的值


     SELECT SUM(column1) AS 'column' FROM tablename
--计算指定列中的总合



                    /*排序*/

     SELECT * FROM student ORDER BY class DESC
-- 以‘班级’的降序排列‘学生表’中所有记录


    SELECT * FROM student ORDER BY class ASC,score DESC
--以‘班级’的升序和‘学分’的降序排列‘学生表’中所有记录

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-293291-1-1.html 上篇帖子: SQL SERVER 2012 COLUMNSTORE INDEX 下篇帖子: 常用SQL SERVER 编程 技巧
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表