• SQL Server 之T-SQL语言的学习


    SQL Server T-SQL语言的学习

    举例:

                                      表1:学生表student

    学号

    姓名

    性别

    班级

    2007001

    李晓明

    土木0701

    2007002

    王莉

    信计0701

                                      表2:成绩表score

    学号

    课程编号

    课程名称

    成绩

    2007001

    1949

    高等数学

    85

    2007001

    1823

    C语言

    98

    2007002

    1950

    数据结构

    60

    1.数据定义语言

    数据库语言属于第四类语言,与其他语言不同之处是:

          不区分大小写

          字符串全部用单引号

          不区分字符和字符串

          语句之间不以分号作为分割

          多几个数据类型(比如说Date

    (1)创建表

    语法:

    CREATE  TABLE  <表名>

    (

    <列名><数据类型>[列完整性约束条件]

    [,<列名><数据类型>[列完整性约束条件]]

    ……

    [,<列名><数据类型>[列完整性约束条件]]

    )

    列完整性约束条件的格式:

    [[Default 默认值]]|[[Identity [(seed,increment)]]] 标识,标识种子,增量

    [NULL | NOT NULL ] 默认为NULL

    [PRIMARY KEY | UNIQUE ] 前者只能有一个,但是有些属性不允许重复,比如身份证和电话号,可以再多个上写UNIQUE

    1

    Create Table student

    (

    Id bigint identity(2007001,1) PRIMARY KEY,

    Name varchar(10) not null,

    Sex char(2) not null,

    Classname varchar(10) not null

    )

    2

    Create Table score

    (

    Id bigint not null Foreign Key References student(id),  效果如表

    Classid int not null,

    Classname varchar(10) not null,

    Score int,

    Constraint XH_KCH Primary Key(id,classid)  联合主键,XH_KCH可以随意起个名字

    )

    最好在每个新建查询中添加USE Test说明在哪个表中操作,防止误操作其他表(系统表)。

    (2)修改表

    语法:

    ALTER  TABLE  <表名>

    [ADD<新列名><数据类型>[完整性约束条件]]

    [DROP<完整性约束名>(列名)]

    [MODIFY<列名><数据类型>]

    3

    Alter Table student add academic varchar(20)

    说明:SQL Server的格式在修改方面有一点不同,ADDDROP是一样的

    Alter table student alter column name varchar(20)

    (3)删除表

    语法:

    DROP  TABLE  表名

    4

    Drop Table student

    2.数据操纵语言

    (1)增加记录

    语法:

    Insert [into] 表名 values(列值1...列值n)

    举例:

    Insert student values(‘李晓明’,’男’,’土木0701’)  这里必须要严格一致对应,如果有多条,可以接着写括号

    或:

    Insert into student(name,sex,classname) values(‘李晓明’,’男’,’土木0701’)

    (2)删除记录

    语法:

    Delete [FROM] 表名 WHERE 条件

    举例:

    Delete score where classid=1821

    (这里的条件可以用classid like ‘2010%’  其中通配符%代表任意字符串,_代表一个字符串 模糊查询)

    (3)修改记录

    语法:

    update表名 SET 列名=表达式[...,]

    WHERE 条件

    举例:

    Update score set classid=1821 where classid=1823  1823改成1821

    (可以有and 和 or 的逻辑表达)

    (4)查询记录

    语法:

    SELCET  1 [,2,...]

    FROM   表名

    WHERE 条件

    GROUP BY  分组表达式

    HAVING  分组统计条件

    OREDR BY   排序表达式

    举例:

    1:查询所有学生的基本信息

    Select * from student

    2:查询所有学生的考试成绩,并显示其所在专业

    Select student.id,name,academic,score.classname,score

    From student,score

    Where student.id=score.id

    3:查询成绩不及格的学生的所有信息

    Select student.id,name,sex,student.classname,score.classid,score.classname,score

    From student,score

    Where student.id=score.id

    4:查询学号为2007001的学生的“高等数学”课成绩

    Select score.score

    From student,score

    Where student.id=’2007001’ and score.classname=’高等数学’

    5:查询所有学生中分数最高的详细信息

    select *

    from score

    where score.score in

    (

    select MAX(score.score)

    from score

    )

    备注:数据库中提供一些基函数,如:max,min,count

    6:查询所有“信计”专业学生的信息

    select *

    from student

    where classname like '信计%'

  • 相关阅读:
    如何新建一个datatable,并往表里赋值
    c# 、 Asp.net 获取本地IP和MAC地址
    C# asp.net 比较两个时间的差求天数
    获取CheckBox的值
    Gradle的属性设置大全
    Gradle里配置jetty实现静态资源的热部署
    Gradle命令行黑魔法
    2013年上半年我读过的那些书
    SVN中Branch的创建与合并
    只有好的棋手才会走运-《打造Facebook》读后感
  • 原文地址:https://www.cnblogs.com/qysqys/p/5232488.html
Copyright © 2020-2023  润新知