每天一点数据库之-----Day 3 数据的增改删
2015-02-08 15:36
218 查看
每天一点数据库之-----Day 3 数据的增改删
----转载请注明出处:coder-pig
本节引言:
本节介绍的是,往数据库中添加数据,更新数据以及删除数据
[align=left]CREATE TABLE T_Person[/align]
[align=left]([/align]
[align=left] FId INTEGER NOT NULL,[/align]
[align=left] FName VARCHAR (20),[/align]
[align=left] FAge INTEGER ,[/align]
[align=left] FSex VARCHAR (10)[/align]
[align=left] PRIMARY KEY (FId)[/align]
[align=left])[/align]
好了,表就建好了,接下来,插入数据了!使用下述语句插入元素:
INSERT INTO T_Person( FName ,FAge , FId, FSex )VALUES ( 'Tom', 11 ,1 , 'Man')
运行语句后,插入完成:
因为我们设置了Fid为主键,假如我们插入一个Fid = 1的记录:
INSERT INTO T_Person( FName ,FAge , FId, FSex )VALUES ( 'Jay', 12 ,1 , 'Man')
就会报下面的错误:
也证明了前面所说的主键唯一且不为空!
往表中插入记录的时候要注意:
1)主键不能为空,你可以可以设置默认值;
2)设置了非空的字段,不能为空
3)插入中列的顺序可以是任意的,就像上面的,FId不一定要放到第一位!
4)如果这个关联了外键的话,那么添加数据的时候,外键字段在对应关联表中需要存在,比如:
人员表中添加了公司id,那么这个公司id需要在公司表中存在,不然也是会报错的!!!
只需使用下述SQL语句
UPDATE T_PERSON SET FAge = '18', FSex = 'Woman'
修改前:
修改后:
[align=left]UPDATE T_PERSON SET FAge = '25', FSex = 'Man'[/align]
[align=left]WHERE FName = 'Tom'[/align]
运行后:
好了,更新表中数据,就是那么简单!当然还可以添加OR,NOT等关系运算符来实现
更加复杂的过滤逻辑,详情见后续章节!
这样就可以直接删除T_Person表中的所有数据,另外,要和前面学的删除表的DROP区分开来:
DELETE:仅仅是删除数据,并不破坏表结构
DROP:既删除数据,还删除表结构
可以形象地理解为:DELETE只是吃光了碗里的饭,而DROP不仅吃光了饭,还把碗给砸了!!
DELETE FROM T_Person WHERE FAge < 20
表中FAge < 20的记录就会被删掉!
最后说两句:
本节关于表中数据的增删改就到这里~
----转载请注明出处:coder-pig
本节引言:
本节介绍的是,往数据库中添加数据,更新数据以及删除数据
1)往表中添加数据:
上一节,我们把T_Person表给删除了,先创建一个T_Person表,顺道复习下:[align=left]CREATE TABLE T_Person[/align]
[align=left]([/align]
[align=left] FId INTEGER NOT NULL,[/align]
[align=left] FName VARCHAR (20),[/align]
[align=left] FAge INTEGER ,[/align]
[align=left] FSex VARCHAR (10)[/align]
[align=left] PRIMARY KEY (FId)[/align]
[align=left])[/align]
好了,表就建好了,接下来,插入数据了!使用下述语句插入元素:
INSERT INTO T_Person( FName ,FAge , FId, FSex )VALUES ( 'Tom', 11 ,1 , 'Man')
运行语句后,插入完成:
因为我们设置了Fid为主键,假如我们插入一个Fid = 1的记录:
INSERT INTO T_Person( FName ,FAge , FId, FSex )VALUES ( 'Jay', 12 ,1 , 'Man')
就会报下面的错误:
也证明了前面所说的主键唯一且不为空!
往表中插入记录的时候要注意:
1)主键不能为空,你可以可以设置默认值;
2)设置了非空的字段,不能为空
3)插入中列的顺序可以是任意的,就像上面的,FId不一定要放到第一位!
4)如果这个关联了外键的话,那么添加数据的时候,外键字段在对应关联表中需要存在,比如:
人员表中添加了公司id,那么这个公司id需要在公司表中存在,不然也是会报错的!!!
2)更新(修改)表中的数据
①更新表中所有记录的某个字段的值:
比如将人员表中所有性别改成'Woman',年龄都改成18只需使用下述SQL语句
UPDATE T_PERSON SET FAge = '18', FSex = 'Woman'
修改前:
修改后:
②如果你想只针对某个特定的记录修改:
那么你就要用到WHERE子句了,比如把Tom的性别改回男,年龄改成25[align=left]UPDATE T_PERSON SET FAge = '25', FSex = 'Man'[/align]
[align=left]WHERE FName = 'Tom'[/align]
运行后:
好了,更新表中数据,就是那么简单!当然还可以添加OR,NOT等关系运算符来实现
更加复杂的过滤逻辑,详情见后续章节!
3)删除表中数据:
①直接清空表中所有数据:
DELETE FROM T_Person这样就可以直接删除T_Person表中的所有数据,另外,要和前面学的删除表的DROP区分开来:
DELETE:仅仅是删除数据,并不破坏表结构
DROP:既删除数据,还删除表结构
可以形象地理解为:DELETE只是吃光了碗里的饭,而DROP不仅吃光了饭,还把碗给砸了!!
②删除特定记录:
比如直接删除表中年龄小于20的人:DELETE FROM T_Person WHERE FAge < 20
表中FAge < 20的记录就会被删掉!
最后说两句:
本节关于表中数据的增删改就到这里~
相关文章推荐
- 每天一点数据库之-----Day 4 数据的简单查询
- 每天一点数据库之-----Day 6 数据分组与数据分页
- 每天一点数据库之-----Day 8 索引与约束
- 每天一点数据库之-----Day 5 过滤查询
- 每天一点mysql-创建数据库并插入数据
- 每天一点数据库之-----Day 9 表连接
- 每天一点数据库之-----Day 2 创建与管理数据库表
- 每天一点数据库之-----Day 7 字段相关与联合结果集
- 对数据库数据冗余的一点看法
- MES操作数据库后数据显示的一点小问题,关于DataView的rowfilter
- 怎么查询数据库每天的数据增量和访问量?
- 关于用VC,VB进行图像数据(二进制大对象)存储数据库的一点心得
- sh调取sqoop脚本每天增量跑数据 从hadoop到关系型数据库
- 每天学点数据库之-----Day 1-数据库的一些基本概念
- 关于用VC,VB进行图像数据(二进制大对象)存储数据库的一点心得
- Day_02_数据库的简单连接和添加数据
- 关于Ext的EditorGridPanel实时修改数据后保存到数据库的一点心得
- 数据库用裸设备做数据文件的一点记录
- 数据库中删除表中重复数据的一点心得
- 对数据库数据冗余的一点看法