数据库学习笔记(二)

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值进行比较。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值