SQL Server数据库---》增删查改
***数据的插入:(增)
insert into 表名(字段列表) values(值列表)
如果不写字段列表就要为表添加全部的列数据
其实into也可以省略
每次只能插入一条数据
1.如果字段可以为null或有默认值,也可以在添加值的时候使用null/default代替 ,但不能什么都不填
2.非空字段一定要传入值
3.插入的值必须要符合表的Check约束
4.所有的字段都可以使用单引号’’ 如果本来是字符串的值 没有加‘ ’号,那么会报错,因为会被当成变量
5.日期值一定要加单引号,如果没有加也不会报错,但显示的是系统默认值1905-6-20
6.如果表没有设置自动增长标识种子,那么添加字段的值要从id开始 也就是标识列开始
***数据更新(数据修改) 修改删除一定需要考虑有没有条件
语法:
update 表名 set 字段=值/表达式 where 条件
一般来说可以作为是条件的是主键或唯一键
1.多条件查询要用and连接
2.修改多个字段用,号隔开
Null值的处理:
如果要把本来是null值的数据改成别的数据 使用is null不是=号,如下把Person表中是null的电话号码改成110 代码如下:
update Person set phone=‘110’where phone is null
如果把本来有的数据改成null值的话 就用=号赋值就可以,不用用is 但赋的这个null值不可以加单引号,大小写都不要紧 如下:
Update Person set phone=NUll where id=3
数据的删除:只是删除表的数据行
语法:
Delete 【from】 表名 where 条件
1.删除是一条一条删除,所有效率低下,它每一次删除都要将操作写入到日志文件中,所以效率低下,而且标识列不会从种子值重新计算,而是接着上次删除最后的标识列,比如删除了标识列为4的行数据,那么再添加一条数据标识列就从5开始
--truncate 删除方法:
语法:truncate table 表名 --没有条件
它是一次性删除整个表 这种删除方式可以只写入一次日志文件,删除后标识列会从种子值重新计算 如设置的标识种子是1,就从1
数据检索:数据的搜索 也就是查询--返回虚拟结果集
语法:
select 字段列表/*from 表列表 where 条件
eg:select name,age,sex from Student where id=10
添加虚拟结果集的列名:设置列名通过as,也可以用= 也就是字段as值 如:name as 姓名 或name=姓名
--select可以做查询,也可以赋值和输出如:
select 1 输出的结果是1
select 1+1 输出的结果是2
select '1'+1 结果也是2
select 1+‘1’输出的结果是2
select ‘1’+‘1’ 输出的结果是11
只有当加号的两边都是字符串时,是字符串连接
一次性插入多条记录 (很少使用,效率太低)
1.将数据移动到新表中 新表不能先存在,它是系统自动创建的,它会根据所查询的列自动生成一个对应的表结构
生成的表结构只保留字段名称和类型以及标识列属性,其它的类似于主键,唯一键,关系等约束都没有
Select * into newGrade from grade
然后在删除原表数据
Truncate table grade
将临时表的数据移动到已经存在的源表中
--目标表必须已经存在,且查询出的列的类型和数量必须和已经存在的目标表的结构一致,且不能破坏目标表的数据完整性。
*Insert into 目标表 select * from 源表
Insert into grade select classname from newGrade
eg:
select * into newPerson from Person
truncate table Person
insert into Person select name,age from newPerson
注意:也可以用数据的导出和导入
SQL Server数据库---》增删查改的更多相关文章
- 常用SQL语句(增删查改、合并统计、模糊搜索)
转自:http://www.cnblogs.com/ljianhui/archive/2012/08/13/2695906.html 常用SQL语句 首行当然是最基本的增删查改啦,其中最重要的是查. ...
- SQL Server跨数据库 增删查改
比如你在库A ,想查询库B的表.可以用 数据库名.架构名.表名的方式查询 select * from 数据库B.dbo.表1 也可以在存储过程中这样使用. 需要注意的是,如果使用这样的查询方式,你必须 ...
- django models进行数据库增删查改
在cmd 上运行 python manage.py shell 引入models的定义 from app.models import myclass ##先打这一行 ------这些是 ...
- SQL语句的增删查改
一.增:有2种方法 1.使用insert插入单行数据: 语法:insert [into] <表名> [列名] values <列值> 例:insert into Strdent ...
- go iris xorm包使用(sqlite3数据库增删查改)
官网https://studyiris.com/example/orm/xorm.html例子,稍做修改 1.我是win64,但没有遇到mingw问题,应该是之前安装过gcc环境,参考:测试一下rob ...
- Django学习笔记009-django models进行数据库增删查改
引入models的定义 from app.models import myclass class myclass(): aa = models. CharField (max_length=No ...
- 【总结】C# Access 数据库 增删查改 的简单步骤
引用集: using System.Data.OleDb; static string exePath = System.Environment.CurrentDirectory;//本程序所 ...
- YII数据库增删查改操作
初学YII, 整理了一些YII数据库的相关操作, 共同学习,共同进步. 一.查询数据集合 //1.该方法是根据一个条件查询一个集合 $admin=Admin::model()->findAll ...
- SQL基本之增删查改操作
1.为表添加主键 alter table <tablename> add primary key(col); 主键添加前: 主键添加后: 2.插入数据 insert into <ta ...
- flask框架中,利用数据库增删查改
# 配置数据库app.config['SQLALCHEMY_DATABASE_URI'] = "mysql://root:mysql@127.0.0.1:3306/booktest" ...
随机推荐
- MongoDB C driver API continues
开篇前 <1,mongoc_init() func> mongoc_init() Synopsis void mongoc_init (void); Description This fu ...
- Oracle表空间常用操作
--创建表空间 create tablespace test datafile 'E:\test2_data.dbf' SIZE 20M autoextend on next 5M maxsize 5 ...
- 网易云课堂_C++程序设计入门(上)_第6单元:丹枫虽老犹多态–继承与多态_第6单元作业【2】- 在线编程(难度:中)
第6单元作业[2]- 在线编程(难度:中) 查看帮助 返回 温馨提示: 1.本次作业属于Online Judge题目,提交后由系统即时判分. 2.学生可以在作业截止时间之前不限次数提交答案,系统 ...
- 关于视觉里程计以及VI融合的相关研究(长期更新)
1. svo 源码:https://github.com/uzh-rpg/rpg_svo 国内对齐文章源码的研究: (1)冯斌: 对其代码重写 https://github.com/yueying/O ...
- dom 删除和清除
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...
- Picasso 加载图片到RelativeLayout之解决方案
Picasso 加载图片到ImageView 或者自己的自定义View都是可以直接调用对应API的,但是用into(0直接也加载到RelatieLayout就不好使了,可以这样来: Picasso.w ...
- JavaScript学习笔记(二)原型
JavaScript不包含传统的类继承模型,而是使用prototype原型模型.JavaScript使用原型链的继承方式. function Foo() { this.value = 42; } Fo ...
- 使用C语言获取linux系统相关信息
最近在写shell的时候,涉及到了获取环境变量参数和本地计算机相关信息,包括计算机设备名,用户名的信息,在这里简单总结一下.获取环境变量各项参数,可以直接使用getenv函数.man中关于getenv ...
- sshd被攻击的自动防御方法v2
1.增加了“频繁攻击的封锁时间”,即设置为上次攻击时间的2倍 2.加入了数据库支持,将攻击者相关信息记录入库,如攻击者ip.攻击次数.封锁时间 3.简化了代码 具体实现步骤如下: 1.创建 ...
- MySQL存储过程(转载)
转自:http://www.blogjava.net/sxyx2008/archive/2009/11/24/303497.html 1.1 CREATE PROCEDURE (创 ...