• 数据库复习总结(7)-表的创建以及插入命令、数据修改、数据删除


    一、表的操作

    表:创建、修改、删除

       通过select * from sysobjects  where xtype='U'可以查看所有存在的表

             多个列间使用逗号分隔

       主键:primary key

       非空:not null

       惟一:unique

       默认:default()

       检查:check()

       外键:foreign key(列名) references 表名(列名)

    例如:--创建表

    use practiceDB
    create table ClassInfo
       (
        CId int not null primary key identity(1,1),
        CTitle nvarchar
       )
    create table StudentInfo
      (
       sId int not null primary key identity(1,1),
       sName nvarchar(10) not null,
       sGender bit default(0),
       sBirthday date,
       sPhone char(11),
       sEMail varchar(20),
       cid int not null,
       foreign key(cid) references ClassInfo(cid)
    )

     二、表数据的操作

    -》简单查询:select * from 表名
    -》增加数据:insert into 表名(列名) values(值)
                          说明1:要求值的列名与值要位置对应
                          说明2:如果所有更都插入值,可以省略列名部分
                          扩展:一次性增加多行,可以直接在values后面拼接多个数据,之间用逗号分隔
    -》修改数据:update 表名 set 列名1=值1,列名2=值2... where ...
    -》删除数据:delete from 表名 where ...
                           清空:truncate table 表名
                           说明:from关键字可以省略不写
                           通常实现:逻辑删除,物理删除

     where是进行 行筛选 的方式

    举例:

    PracticeDB数据库中创造表UserInfo,并在表中进行插入数据,修改数据、删除数据操作。

    use practiceDB
    
    create table UserInfo --创建UserInfo表
       (
        UserId int not null primary key identity(1,1),
        UserName nvarchar(10),
        UserPwd  varchar(50)
       )
    
    --------------------------------(1)插入数据------------------------
    select * from UserInfo 
    
    --注意自动增长得列不用赋值
    insert UserInfo(UserName,UserPwd) values('鲁班','123')
    
    --为所有的列,按照默认顺序赋值,可以使用如下简写
    insert UserInfo values('韩信','123')
    
    --为某些列赋值,而不是全部列
    insert UserInfo(UserName) values('赵云')
    
    --------------------------------(2)修改数据------------------------
    select * from UserInfo 
    
    --为所有行的指定列进行修改
    update UserInfo set UserPwd='admin'
    
    --为指定行进行修改列
    update UserInfo set UserPwd='123' where UserId>1
    
    update UserInfo set UserPwd=null
    
    --------------------------------(3)删除数据------------------------
    delete UserInfo where UserId>4
    View Code

     

    truncate table userInfo---请空表中的所有数据

    ===========================================

    truncate table student 的作用与delete from student一样,都是删除student表中的全部数据,

    区别在于:

    1.truncate语句非常高效。由于truncate操作采用按最小方式来记录日志,所以效率非常高。对于数百万条数据使用truncate删除只要几秒钟,而使用delete则可能耗费几小时。

    2.truncate语句会把表中的自动编号重置为默认值。

    3.truncate语句不触发delete触发器。

     三、常用辅助命令及快捷键

    set statistics time on/off:在消息栏显示详细执行时间
    ctrl+e执行
    ctrl+r隐藏消息栏
    ctrl+l计划任务,对sql语句进行分析

  • 相关阅读:
    pair
    非整除集合
    集合 set
    实现字通配符*
    vector
    矩阵及其初等变换
    求数组中连续子数组(最少有一个元素)的最大和。
    最长上升序列(Lis)
    st表求区间最大值
    [Noip2015] 信息传递
  • 原文地址:https://www.cnblogs.com/mhq-martin/p/7994975.html
Copyright © 2020-2023  润新知