sql server 增删改(查太多了)
表:
学生(*学号,姓名,性别,年龄,专业) create table student( sno char(13) primary key, sname varchar(20) not null, ssex char(2), sage smallint, sdept varchar(30) ); 课程(*课程号,课程名,学分) create table course( cno char(4), cname varchar(40) not null, ccredit smallint not null, 我们可以将字段的定义和主外键的定义分开 primary key (cno) ); 选课(学号,课程号,分数) create table sc( sno char(13), cno char(4), grade smallint, primary key (sno,cno),--定义联合主键 foreign key (sno) references student(sno), constraint FK_sc_cno foreign key (cno) references course(cno) ); 创建一个用户表 create table tb_user( userid int identity(1,1),【设置整型字段自动增长】 username varchar(20) not null, userpass varchar(16) not null, groupid int ); 创建用户组表 create table tb_group( groupid int primary key identity(1001,1), groupname varchar(30) not null );
insert(增加)
使用 insert 语句向表中插入数据。
insert into table [(column [, column...])]
values (value [, value...]);
插入的数据应与字段的数据类型相同。
举例:
方法一:不指定列,插入所有字段
insert into student values('','kangji','男',22,'计算机科学学院');--SQLServer总是尝试转化为相同的类型
insert into student values(20100402,'张三','男',22,'计算机科学学院');
方法二:指定列,插入部分字段
insert into student (sno,sname) values('','李四');
注意:
1) 数据的大小应在列的规定范围内,例如:不能将一个长度为80的字符串加入到长度为40的列中。
2) 在values中列出的数据位置必须与被加入的列的排列位置相对应。
3) 字符和日期型数据应包含在单引号中。
4) 插入空值,不指定或insert into table value(null)
注意:在SQLServer 中,''=null; ' '=null; ' '=null;
批量插入数据
insert into u(username,userpass) select sname,sno from student where ssex='男';
update(修改)
使用 update语句修改表中数据。 update 表名 set 列名=表达式[,列名=表达式 ...] [where where_definition] update语法可以用新值更新原有表行中的各列。 set子句指示要修改哪些列和要给予哪些值。 update student set sname='康吉' where sno='20100401'; update student set sname='康吉',sage=23 where sno='20100401'; where子句指定应更新哪些行。如没有where子句,则更新所有的行。 修改还有 null 值的数据 is null select * from student where ssex is null;
delete(删除)
使用 delete语句删除表中数据。
delete from 表名 [where where_definition]
如果不使用where子句,将删除表中所有数据。
delete语句不能删除某一列的值(可使用update对值置null)
使用delete语句仅删除记录,不删除表本身。如要删除表,使用【drop table表名】语句。
同insert和update一样,从一个表中删除记录将引起其它表的参照完整性问题,在修改数据库数据时,头脑中应该始终不要忘记这个潜在的问题。
删除表中全部数据
delete table 表名;
删除表中指定数据
delete from student where xh='A001';
级联删除和更新
create table class( id int primary key, name varchar(10) ); create table student( id int primary key, class_id int references class(id) on delete/update cascade ); alter table student add constraint FK_classid foreign key (class_id) references class(id) on update cascade on delete cascade
sql server 增删改(查太多了)的更多相关文章
- MS SQL Server 增删改查
数据插入 语法:INSERT INTO Table_name(field1,field2……fieldN) values(value1,vlaue2,…valueN) 单行插入用户类型 INSERT ...
- 【黑马Android】(04)数据库的创建和sql语句增删改查/LinearLayout展示列表数据/ListView的使用和BaseAdater/内容提供者创建
数据库的创建和sql语句增删改查 1. 载入驱动. 2. 连接数据库. 3. 操作数据库. 创建表: create table person( _id integer primary key, nam ...
- python入门23 pymssql模块(python连接sql server增删改数据 )
增删改数据必须connect.commit()才会生效 回滚函数 connect.rollback() 连接数据库 ''' dinghanhua sql server增删改 ''' import py ...
- 数据库基本查询语句(SQL常用增删改查语句 简单复习 mark)
SQL常用增删改查语句 1增 1.1[插入单行]insert [into] <表名> (列名) values (列值)例:insert into Strdents (姓名,性别,出生日期) ...
- 基本 SQL 之增删改查(一)
上篇文章,我们介绍了数据的基本 DDL 语句,你应当具备基本的创建数据库.数据表的 SQL 语句,以及表字段的基本数据类型的熟知. 那么本篇就来总结总结大家日常最频繁接触到的 DDM 语句,也就是基本 ...
- web sql 基本操作 - 增删改查
不喜欢看md原文的 可以访问这个链接:http://note.youdao.com/noteshare?id=6a91e3dea7cdf5195bb0e851d9fcb5a5 # web sql 增删 ...
- SQL数据库增删改查
数据类型 运行cmd 输入net start MSSQLserver 启动数据库服务 输入net stop MSSQLserver 关闭数据库服务 输入net pause MSSQLserve ...
- MySQL基础SQL命令---增删改查
1.表操作: create table tableName (id int(6) not null primary key auto_increatment,name varchar(10) not ...
- sql语句增删改查与子查询
修改表 修改表 语法: Alter table <旧表名> rename [ TO] <新表名>; 例子:Alter table `demo01` rename `demo02 ...
随机推荐
- mysql数据迁徙详解
数据迁徙是每个后端都会遇到的工作之一,本文介绍了一些常见的数据迁徙方法与工具 mysqldump:数据结构不变的数据迁徙 导出数据 mysqldump -u root -p DATABASE_NAME ...
- [考试反思]1023csp-s模拟测试84:精妙
一套很奇怪的题.单调性+神仙dp/搜索+随机化. 但是说实在的,思路都很不错. 考场上显然乱搞没什么好说的. 虽说T2剪枝打错变量名掉了20分... T1:Smooth 暴力各有不同,最暴力的想法就是 ...
- 自动任务调度 - Timer
一.概述: 最近维护一个老项目,里面使用的是Timer的时间调度器,以前没接触过,对着代码鼓捣了半天,查阅了部分博客,最后总结出自己的见解,新项目一般是不会用这种老掉牙的时间调度器了,但是维护老项目还 ...
- Requests库使用总结
概述 Requests是python中一个很Pythonic的HTTP库,用于构建HTTP请求与解析响应 Requests开发哲学 Beautiful is better than ugly.(美丽优 ...
- centos6官网镜像dvd1和dvd2的解释
- 语义分割学习之SegNet的C++编译
Abstract 安装好Segnet并使用Python进行训练和测试之后,考虑项目的应用,需要在C++的工程环境下进行继续开发,所以这里的主要内容是用C++建立工程,使用相应的数据集和权重参数文件进行 ...
- 🔥「课代表」帮你总结了全网最全的Redis知识点
你知道的越多,你不知道的越多 点赞再看,养成习惯 GitHub上已经开源 https://github.com/JavaFamily 有一线大厂面试点脑图.个人联系方式和人才交流群,欢迎Star和指教 ...
- 力扣(LeetCode)买卖股票的最佳时机 个人题解
给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格. 如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润. 注意你不能在买入股票前卖出股票. 示例 ...
- C语言I博客作业09
问题 答案 这个作业的属于那个课程 C语言程序设计II 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2019-4/homework/10034 我 ...
- 0MQ是会阻塞的,不要字面上看到队列就等同非阻塞。
如果你是希望通过0MQ来做缓冲队列,非阻塞的效果,那你就必须清楚 0MQ Socket是会阻塞,你要搞清楚0MQ Socket与队列的关系. 官方协议文档规定了,一部分类型的 0MQ Socket为不 ...