Sql Server——数据增删改
所谓数据的增删改就是在创建好数据库和表后向表中添加数据、删除表中的数据、更改表中的一些数据。
新增数据:
语法一: 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——数据增删改的更多相关文章
- 使用java对sql server进行增删改查
import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import ...
- java对sql server的增删改查
package Database; import java.sql.*; public class DBUtil { //这里可以设置数据库名称 private final static String ...
- SQL Server之增删改操作
-------添加约束.增删改 use StudentDB2 go --------创建学生表--------- create table StudentInfo( --studentId int p ...
- SQL Server数据库————增删改查
--增删改查--增 insert into 表名(列名) value(值列表) --删 delect from 表名 where 条件 --改 update 表名 set 列名=值1,列名2=值2 w ...
- VS 使用Sql Server 数据库增删改查
/// <summary> /// 执行查询语句,返回DataSet /// </summary> /// <param name="SQLString&quo ...
- [SQL]SQL Server数据表的基础知识与增查删改
SQL Server数据表的基础知识与增查删改 由张晨辉(学生) 于19天 前发表 | 阅读94次 一.常用数据类型 .整型:bigint.int.smallint.tinyint .小数:decim ...
- Linq to SQL 简单的增删改操作
Linq to SQL 简单的增删改操作. 新建数据库表tbGuestBook.结构如下: 新建web项目,完成相应的dbml文件.留言页面布局如下 <body> <form id= ...
- SQL Server数据全同步及价值分析[终结版]
SQL Server数据全同步[终结版] 版权全部.转载请注明出处.谢谢! 经过两天的同步编写和測试.出了第一个Release版本号: 1. 本函数仅支持单向同步.即从一个主数据库想多个从数据库同步 ...
- C#操作Excel数据增删改查(转)
C#操作Excel数据增删改查. 首先创建ExcelDB.xlsx文件,并添加两张工作表. 工作表1: UserInfo表,字段:UserId.UserName.Age.Address.CreateT ...
随机推荐
- MySql监控优化
MySQL监控 MySQL服务器硬件和OS(操作系统)调优: 1.有足够的物理内存,能将整个InnoDB文件加载到内存里 —— 如果访问的文件在内存里,而不是在磁盘上,InnoDB会快很多. ...
- Oracle添加记录的时候报错:违反完整性约束,未找到父项关键字
今天需要向一个没有接触过的一个Oracle数据库中添加一条记录,执行报错: 分析: 报错的根本原因:未找到父项关键字的原因是因为你在保存对象的时候缺失关联对象. 问题的解决思路:先保存关联对象后再保存 ...
- Java的演化-Java8实战笔记
一个语言要想一直有活力,它也需要跟随着时代的变化去进步,Java作为一个古老的语言,它其实有太多的历史包袱,在改变的过程中需要考虑很多,但是它也在慢慢的演变,巩固自己的城墙,不让自己被遗忘在历史中(不 ...
- angularjs 字段排序 多字段排序
我们用angularjs {{}},ng-model循环绑定数组或对象的内容的时候,有时候会用到排序,有时候可能会有多个字段排序 具体要用到过滤 数据的展现,可以通过ng-repeat实现.当网页解析 ...
- JavaScript的DOM编程--06--两个实验
<html> <head> <meta http-equiv="Content-Type" content="text/html; char ...
- 浏览器中的user-agent的几种模式
服务器一般会根据访问的浏览器进行识别,针对不同浏览器才用不同的网站样式及结构,也是通过这个信息判断用户使用的平台模式(手机,pc或平板) 识别为手机一般有这几个关键字: "Windows P ...
- java多线程(六)-线程的状态和常用的方法
一个线程可以处于以下几种状态之一: (1) 新建(new):当线程被创建时,它只会短暂的处于这种状态,此时它已经获得了必须的系统资源,并执行了初始化,该线程已经有资格获取cpu时间了,之后它将转化为可 ...
- java多线程(一)-概述
最近这段在看java多线程编程方面的东西.所以特写了几篇文章,来总结和回顾一下自己所学习到的相关知识.因为水平有限,文章中总结不全面甚至理解错误的地方,欢迎读者指点批评. 我们平时所接触到的程序,都是 ...
- iOS开发系列
因为最近面试了一些人,校招.初中级.高级.架构师,各种级别的,发现大家水平差异很大,有的高级的工程师很多问题都回答不上来,所以想梳理下iOS的知识点,写成一个系列,如果时间允许的话,会录制成视频放到网 ...
- C#Winform使用mysql作为本地数据库
MYSQL是老牌关系型数据库,在受够了sqlite,mslocaldb,sqlce等本地数据库之后,发现了mysql5.6的一些版本也可以绿色安装,编程实现从资源文件里面解压到目标机器上,并配置好成为 ...