数据库学习笔记(二)

3.插入数据
3.1.单条插入方式—-指定列
脚本:Insert into Table1(field1,field2,…) values()

3.2.单条插入方式—-不指定列
脚本:Insert into Table1 values

3.3.多条插入—-into…select
脚本:Insert into Table1(field1,field2,…) select value1,value2,… from Table1
例子:
–1.创建测试表
create TABLE Table1
(
a varchar(10),
b varchar(10),
c varchar(10),
CONSTRAINT [PK_Table1] PRIMARY KEY CLUSTERED
(
a ASC
)
) ON [PRIMARY]
create TABLE Table2
(
a varchar(10),
c varchar(10),
d int,
CONSTRAINT [PK_Table2] PRIMARY KEY CLUSTERED
(
a ASC
)
) ON [PRIMARY]
GO
–2.创建测试数据
Insert into Table1 values(‘赵’,’asds’,’90’)
Insert into Table1 values(‘钱’,’asds’,’100’)
Insert into Table1 values(‘孙’,’asds’,’80’)
Insert into Table1 values(‘李’,’asds’,null)
GO
select * from Table2
–3.INSERT INTO SELECT语句复制表数据
Insert into Table2(a, c, d) select a,c,5 from Table1
GO
–4.显示更新后的结果
select * from Table2
GO
–5.删除测试表
drop TABLE Table1
drop TABLE Table2

3.4.多条插入—-select…into
脚本:SELECT vale1, value2 into Table2 from Table1
例子:
–1.创建测试表
create TABLE Table1
(
a varchar(10),
b varchar(10),
c varchar(10),
CONSTRAINT [PK_Table1] PRIMARY KEY CLUSTERED
(
a ASC
)
) ON [PRIMARY]
GO
–2.创建测试数据
Insert into Table1 values(‘赵’,’asds’,’90’)
Insert into Table1 values(‘钱’,’asds’,’100’)
Insert into Table1 values(‘孙’,’asds’,’80’)
Insert into Table1 values(‘李’,’asds’,null)
GO
–3.SELECT INTO FROM语句创建表Table2并复制数据
select a,c INTO Table2 from Table1
GO
–4.显示更新后的结果
select * from Table2
GO
–5.删除测试表
drop TABLE Table1
drop TABLE Table2

3.5.多条插入—-mysql特殊方式
脚本:INSERT INTO table1(field1,field2,…) VALUES(…),(…),…;
例子:
–1.创建测试表
create TABLE Table1
(
a varchar(10),
b varchar(10),
c varchar(10),
CONSTRAINT [PK_Table1] PRIMARY KEY CLUSTERED
(
a ASC
)
) ON [PRIMARY]
GO
–2.创建测试数据
Insert into Table1(a,b,c) values(‘赵’,’asds’,’90’),(‘钱’,’asds’,’100’),(‘孙’,’asds’,’80’),(‘李’,’asds’,null)

4.删除数据
4.1.Drop
说明:删除内容和表的定义,释放空间
4.2.Truncate
说明:删除内容不删除定义 释放空间 不带where
4.3.Delete
说明:删除内容不删除定义 不释放空间 带where 一行一行删除效率低

5.修改数据
5.1.SQL Server 多表更新方法
SQL Server语法:
UPDATE { table_name WITH ( < table_hint_limited > [ …n ] ) |
view_name | rowset_function_limited } SET { column_name = { expression | DEFAULT
| NULL } | @variable = expression | @variable = column = expression } [ ,…n ]
{ { [ FROM { < table_source > } [ ,…n ] ] [ WHERE < search_condition > ] } | [
WHERE CURRENT OF { { [ GLOBAL ] cursor_name } | cursor_variable_name } ] } [
OPTION ( < query_hint > [ ,…n ] ) ]
SQL Server示例:
update a set a.gqdltks=b.gqdltks,a.bztks=b.bztks from landleveldata a,gdqlpj b where a.GEO_Code=b.lxqdm

5.2.Oracle 多表更新方法
Oracle语法:
UPDATE updatedtable SET (col_name1[,col_name2…])= (SELECT
col_name1,[,col_name2…] FROM srctable [WHERE where_definition])
Oracel 示例:
update landleveldata a set (a.gqdltks, a.bztks)= (select b.gqdltks,
b.bztks from gdqlpj b where a.GEO_Code=b.lxqdm)

5.3.MySQL 多表更新方法
MySQL语法:
UPDATE table_references SET col_name1=expr1 [, col_name2=expr2 …]
[WHERE where_definition]
MySQL示例:
UPDATE product p INNER JOIN productPrice pp ON p.productId = pp.productId
SET pp.price = pp.price * 0.8 WHERE p.dateCreated < ‘2004-01-01’

6.查询数据
6.1.逻辑运算符
运算符 描述
AND AND运算符允许在一个SQL语句的WHERE子句中的多个条件的存在。
BETWEEN BETWEEN运算符用于在给定最小值和最大值范围内的一系列值中搜索值。
EXISTS EXISTS运算符用于在满足一定条件的指定表中搜索行的存在。
IN IN运算符用于把某个值与一系列指定列表的值进行比较。
NOT IN IN运算符的对立面,用于把某个值与不在一系列指定列表的值进行比较。
LIKE LIKE运算符用于把某个值与使用通配符运算符的相似值进行比较。
GLOB GLOB运算符用于把某个值与使用通配符运算符的相似值进行比较。GLOB与LIKE不同之处在 于,它是大小写敏感的。
NOT NOT运算符是所用的逻辑运算符的对立面。比如NOT EXISTS、NOT BETWEEN、NOT IN,等等。它是否定运算符。
OR OR运算符用于结合一个SQL语句的WHERE子句中的多个条件。
IS NULL NULL运算符用于把某个值与NULL值进行比较。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值