所谓数据的增删改就是在创建好数据库和表后向表中添加数据、删除表中的数据、更改表中的一些数据。

  新增数据:

       语法一: insert into 表名 values (数据内容)        --这里需要注意的就是新增的数据内容个数必须和创建表的时候的列名个数一致,插入的值的数量与顺序:必须和表定义时完全相同。但我们可以忽略自增列(也就是说在添加数据的时候遇到自增列可以直接跳过它添加后面的数据)。

         如:

          insert into 表名 values(值1,值2,值n.......)

          insert into stuInfo values('张秋丽','S25301','女',18,'重庆','很厉害')
          有默认约束的列:使用default代码
          insert into stuInfo values('李文才','S25303','男',25,default,'很厉害')
          可以为空的列:使用null代码
          insert into stuInfo values('欧阳俊雄','S25304','男',30,default,null)

        语法二:insert into 表名(列名1,列名2,列名n..........) values(值1,值2,值n.......)

        如:

          insert into stuInfo (stuName,stuNo,stuSex,stuAge,stuAddress,remark) values('小黑黑','S25305','男',20,'北京','很帅')

          为空的列,可以省略不写:
          insert into stuInfo (stuName,stuNo,stuSex,stuAge,stuAddress) values('小红红','S25306','女',20,'北京')
          有默认约束的列,可以省略不写:
          insert into stuInfo (stuName,stuNo,stuSex,stuAge) values('红花花','S25307','女',20)
          顺序可以和表中定义不一样:
          insert into stuInfo (stuNo,stuName,stuSex,stuAge) values('S25308','张三','女',20)

  

    注意:插和时into关键字可以省略不写    插入数据时,分为三类:              (1)必填项:not null,必须给值

              (2)选填项:null 或 默认约束,可给可不给
              (3)不填项:identity,不能给值

    插入方式一:insert into 表名 values(值1,值2,值n......) 注:值的数量与顺序与表定义时完全一致
          有默认值的列:用default关键字代码
          可以为空的列:用null关键字代码

    插入方式二:insert into 表名(列名1,列名2,列名n.....) values(值1,值2,值n......) 注:值的数量与顺序与表名后的列完全一致
          有默认值的列/可以为空的列:可以省略不写,表名后的列名省略了,值也跟着省略不写
      

   修改数据:

        语法: update 表名 set 需要改的列名=改的内容 where 条件

   删除数据:

        语法:delete from 表名  where 条件

        如要删除整个表的数据:delete from 表名

  在修改和删除的过程中,我们一般会遇到那种存在主外键关联的列,这种情况下我们直接修改或删除要操作的对象是不行的,因为存在关联。我们只有先操作外键表,再操作主键表。

  仔细看看下面的代码你肯定能懂!(这是一个模拟的银行ATM管理系统),建议复制到Sql Server 中看。

    

/*
    @数据操作
    @Author:  ......
    @Date:  2017-9-26
*/create database bankDB

use bankDB

--用户信息--
create table userInfo
(
    customerID                    ,) primary key,    --顾客编号
    customerName                )                    not null,                        --开户名
    PID                            )                     ),   --身份证号码
    telephone                    )                    not null                        check(telephone like '[0-9][0-9][0-9]-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'or telephone like'[0-9][0-9][0-9][0-9]-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'),   --电话
    address                        text                        null                            default '地址不详'
)
--插入数据
--set IDENTITY_INSERT userInfo on
/*
*这里我添加数据并没有像刚刚那两种方法来,但和第一种是大同小异。
*这样来写的话,你只需要把握好语句里的数据顺序(内容)和表中一致,并注意逗号就可以了
*多按照上面的两种方式写写就熟悉了
*/
','010-67898728','北京海淀'),
                           (','0478-44443333',default)     --Sql Server 规定最后一个语句都不能打逗号

--张三注销帐户:删除张三的帐户(先删除丛表数据,再删除主表数据)
--这里涉及到外键问题,在有外键的情况下,我们只有先删从表,再删主表
--先删两个从表       外键存在的表叫从表
'
'
--再删主表           主键存在的表叫主表

--查询整个表的数据
select * from userInfo

--银行卡信息--
create table cardInfo
(
    cardID                        )                    not null                primary key,--卡号
    curType                        )                    not null                default 'RMB',--货币种类
    savingType                    )                    not null                check(savingType='活期' or savingType='定期'),  --存款类型
    openDate                    datetime                    not null                default getdate(),     --开户日期
    openMoney                    ), -- 开户金额
    balance                        ),  --金额.低于1元则注销账户
    pass                        ), --密码
    IsReportLoss                )                        not null                default '否' check(IsReportLoss='是' or IsReportLoss='否'),  --是否挂失
    customerID                    int                            not null                references userInfo(customerID)
)
),
                           ()

--修改密码
--张三(卡号为1010 3576 1234 5678)修改银行卡密码为123457
--李四(卡号为1010 3576 1212 1134)修改银行卡密码为123123
'
'

--李四(卡号为1010 3576 1212 1134)因银行卡丢失,申请挂失(将IsReportLoss修改为是)
'

select * from cardInfo

--交易信息表--
create table transInfo
(
    transDate                    datetime                    not null                default getdate(),  --交易日期
    cardID                        )                    not null                references cardInfo(cardID), --卡号
    transType                    )                        not null                check(transType='存入' or transType='支取'),--交易类型
    transMoney                    ),  --交易金额
    remark                        text                        null,
)
--添加数据
--张三的卡号(1010 3576 1234 5678)取款900元
--李四的卡号(1010 3576 1212 1134)存款5000元
',null),
                            (',null)
--清空所有效果记录(清空transInfo的所有数据)
delete from transInfo

select * from transInfo

Sql Server——数据增删改的更多相关文章

  1. 使用java对sql server进行增删改查

    import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import ...

  2. java对sql server的增删改查

    package Database; import java.sql.*; public class DBUtil { //这里可以设置数据库名称 private final static String ...

  3. SQL Server之增删改操作

    -------添加约束.增删改 use StudentDB2 go --------创建学生表--------- create table StudentInfo( --studentId int p ...

  4. SQL Server数据库————增删改查

    --增删改查--增 insert into 表名(列名) value(值列表) --删 delect from 表名 where 条件 --改 update 表名 set 列名=值1,列名2=值2 w ...

  5. VS 使用Sql Server 数据库增删改查

    /// <summary> /// 执行查询语句,返回DataSet /// </summary> /// <param name="SQLString&quo ...

  6. [SQL]SQL Server数据表的基础知识与增查删改

    SQL Server数据表的基础知识与增查删改 由张晨辉(学生) 于19天 前发表 | 阅读94次 一.常用数据类型 .整型:bigint.int.smallint.tinyint .小数:decim ...

  7. Linq to SQL 简单的增删改操作

    Linq to SQL 简单的增删改操作. 新建数据库表tbGuestBook.结构如下: 新建web项目,完成相应的dbml文件.留言页面布局如下 <body> <form id= ...

  8. SQL Server数据全同步及价值分析[终结版]

    SQL Server数据全同步[终结版] 版权全部.转载请注明出处.谢谢! 经过两天的同步编写和測试.出了第一个Release版本号: 1. 本函数仅支持单向同步.即从一个主数据库想多个从数据库同步 ...

  9. C#操作Excel数据增删改查(转)

    C#操作Excel数据增删改查. 首先创建ExcelDB.xlsx文件,并添加两张工作表. 工作表1: UserInfo表,字段:UserId.UserName.Age.Address.CreateT ...

随机推荐

  1. Django内置Admin

    Django内置的Admin是对于model中对应的数据表进行增删改查提供的组件,使用方式有: 依赖APP: django.contrib.auth django.contrib.contenttyp ...

  2. 前端学习_02_vps、web服务器、域名申请

    vps申请 国内比较好用的服务器:阿里云,青云:在国内申请ip比较方便,但是必须要备案域名,否则马上就会被封禁掉. 话说我也有点自己的思路想做个网站,服务器还真的是个问题. 小型的网站只需要ECS服务 ...

  3. houseAPP

    项目需求,做一个客户端页面.底部有弹出框遮罩层效果 如图 ================================================= 得到的设计图psd是640px宽度.切页面 ...

  4. 【转】 Git——如何将本地项目提交至远程仓库

    1.(先进入项目文件夹)通过命令 git init 把这个目录变成git可以管理的仓库 git init 2.把文件添加到版本库中,使用命令 git add .添加到暂存区里面去,不要忘记后面的小数点 ...

  5. 小程序之ScrollView细节坑

    Scroll-View 相信大家在使用scroll-view的时候遇到不少问题,网上也有些答案,但是类似我这个问题,貌似没搜索到答案~~ 今天媳妇问我,为什么bindscrolltolower突然不生 ...

  6. 【转载】SSD 下的 MySQL IO 优化

    一 目录 一 目录 二 背景 三 SSD 特性 四 基于 SSD 的数据库优化 五 A 项目 MySQL 主从关系图 六 程序切换之前调优 6.1 修改系统 IO 调度算法 6.2 修改 innodb ...

  7. Linux中允许远程用户登录访问mysql的方法

    需要手动增加可以远程访问数据库的用户. 方法一.本地登入mysql,更改 "mysql" 数据库里的 "user" 表里的 "host" 项 ...

  8. mysql5.7 设置远程访问

    mysql5.7设置远程访问不是和网上说的一样建个用户赋个权限就可以访问的.比如下边这个就是建用户赋权限,可能在之前的版本可以,但是我在我的mysql上一直不行.为此烦了好久!!!项目都耽误了!! 一 ...

  9. Java想要学到精通,这几点一定要掌握

    时代更新换代速度如此之快,尤其是深处互联网行业的java程序员,技术更需要不断更新,只有及时充电,才能不被市场淘汰.千锋Java培训老师今天为大家分享Java程序员学习的6个小技巧. 1.书籍永远是知 ...

  10. cs231n spring 2017 lecture11 Detection and Segmentation 听课笔记

    1. Semantic Segmentation 把每个像素分类到某个语义. 为了减少运算量,会先降采样再升采样.降采样一般用池化层,升采样有各种"Unpooling"." ...