sql server数据库操作
--插入整行数据
insert into [dbo].[person] values('Hasaki', 35, '1983-08-29', 'A', 'A', 'A') --插入部分列数据
insert into [dbo].[person] (name, age, birth) values('Hasaki', 35, '1983-08-29') --删除行记录
delete from person where name = 'John' --更新数据库
update person set study = 'A' where name = 'Amy' --去除重复行
select distinct name from [dbo].[person] --TOP 选择前n条记录
select top 1 * from [dbo].[person] --TOP 选择前百分n条记录
select top 50 percent * from [dbo].[person] --LIKE 通配符'_'匹配一个任意字符
select * from [dbo].[person] where name like 'T_m' --LIKE 通配符'%'匹配0个或多个任意字符
select * from [dbo].[person] where name like '%Tom' --LIKE 通配符'[]'匹配括号里任一字符
select * from [dbo].[person] where name like '[TJA]%' --LIKE 通配符'[^]'匹配不在括号里的任一字符
select * from [dbo].[person] where name like '[^TJA]%'
连接
连接操作是是通过笛卡尔积运算进行的。例如下面两个分别有三条记录的表student和course连接时,实际就是两两匹配,产生9条记录。
| name | age |
| Hasaki | 14 |
| Noki | 16 |
| Yummy | 15 |
| course | name |
| chinese | Hasaki |
| english | Yummy |
| math | Kilo |
笛卡尔积结果为:
| name | age | name | course |
| Hasaki | 14 | Hasaki | chinese |
| Hasaki | 14 | Yummy | english |
| Hasaki | 14 | Kilo | math |
| Noki | 16 | Hasaki | chinese |
| Noki | 16 | Yummy | english |
| Noki | 16 | Kilo | math |
| Yummy | 15 | Hasaki | chinese |
| Yummy | 15 | Yummy | english |
| Yummy | 15 | Kilo | math |
数据库的连接操作结果是笛卡尔积运算后经过筛选剩余的部分。
--内连接
select * from Course join person on person.name = course.name
提取 course.name 和 person.name 相等的记录,结果:
| name | age | name | course |
| Hasaki | 14 | Hasaki | chinese |
| Yummy | 15 | Yummy | english |
--左连接
select * from course left join person on person.name = course.name
提取 course.name(左表) 和 person.name(右表) 相等的记录,而且对于左表的每一条记录,在结果数据集中最少出现一次。
对于左表中一条记录,如果在右表不存在匹配记录,那么结果集中右表部分的数据为NULL,结果:
| name | course | name | age |
| Hasaki | chinese | Hasaki | 14 |
| Yummy | english | Yummy | 15 |
| Kilo | math | NULL | NULL |
--右连接
select * from Course right join person on Course.pName = person.name
情况和左连接相反,结果:
| name | course | name | age |
| Hasaki | chinese | Hasaki | 14 |
| Yummy | english | Yummy | 15 |
| NULL | NULL | Noki | 16 |
--全连接
select * from Course full join person on Course.pName = person.name
提取 course.name(左表) 和 person.name(右表) 相等的记录,而且对于左表、右表的每一条记录,在结果数据集中最少出现一次。对于左表中一条记录,如果在右表不存在匹配记录,那么结果集中右表部分的数据为NULL。对于右表中一条记录,如果在左表不存在匹配记录,那么结果集中左表部分的数据为NULL。结果:
| name | course | name | age |
| Hasaki | chinese | Hasaki | 14 |
| Yummy | english | Yummy | 15 |
| NULL | NULL | Noki | 16 |
| Kilo | math | NULL | NULL |
sql server数据库操作的更多相关文章
- 【转】sql server数据库操作大全——常用语句/技巧集锦/经典语句
本文为累计整理,有点乱,凑合着看吧! ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ ☆ ☆ ☆ sql 宝 典 ☆ ☆ ☆ 2012年-8月 修订版 ☆ ...
- SQL server 数据库 操作及简单查询
使用SQL Sever语言进行数据库的操作 常用关键字identity 自增长primary key 主键unique 唯一键not null 非空references 外键(引用) 在使用查询操作数 ...
- SQL SERVER 数据库操作脚本
创建数据库 create Database MYDB on ( Name=mydb_dat, FileName='c:\data\mydate.mdf',size=10,maxsize=50 ) LO ...
- SQL Server 数据库操作类
/// <summary> /// SQLServerHelper的摘要说明. /// </summary> public class SQLServerHelper { pu ...
- JDBC连接sql server数据库操作
1.首先,先创建一个连接数据库的工具类: package gu.db.util; import java.sql.Connection; import java.sql.DriverManager; ...
- c# SQL Server数据库操作-数据适配器类:SqlDataAdapter
SqlDataAdapter类主要在MSSQL与DataSet之间执行数据传输工具,本节将介绍如何使用SqlDataAdapter类来填充DataSet和MSSQL执行新增.修改..删除等操作. 功能 ...
- c# SQL Server数据库操作-管理命令参数的类:SqlParameter
使用SqlCommand类来执行Transact-SQL语句或存储过程时,有时需要用参数传值或作为返回值,SqlParameter类正是为了此需要而设计的类.下面介绍如何使用该类为SqlCommand ...
- C#操作access和SQL server数据库代码实例
在C#的学习中,操作数据库是比较常用的技术,而access和sql server 数据库的操作却有着不同.那么,有哪些不同呢? 首先,需要引用不同的类.因为有着不同的数据引擎. access:usin ...
- SQL Server数据库远程操作
SQL Server数据库远程操作中,在使用openrowset/opendatasource前首先要启用Ad Hoc Distributed Queries服务,因为这个服务不安全所以SqlServ ...
随机推荐
- 哆啦A梦 canvas
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- iOS静态分析举例
XCode-> Product -> Analyze 即可进行iOS静态代码分析.静态分析能发现的问题包括以下几种类型: 1.逻辑错误:访问空指针或未初始化的变量等: 2.内存管理错误:如 ...
- [转]:C#的ToString如何格式化字符串
C 货币 2.5.ToString("C") ¥2.50 D 十进制数 25.ToString("D5") 00025 E 科学型 25000.ToString ...
- What's going on in background?
Did you know that mobile phone manufacturer collect your info without notifying you? Did you know yo ...
- django修改admin密码
python manage.py shell 然后获取你的用户名,并且重设密码:from django.contrib.auth.models import User user = User.obje ...
- char wchar 互转 多字符 宽字符 的N种方式
1: 用 CString 如果没有mfc 可以用 ATL 中的 CString #include <atlstr.h> CStringA v1 = "111&quo ...
- mysql 已有数据字符集的修改
mysql 字符集的修改 可以使用set names utf8 通过修改配置文件 可修改参数 default_character_set=utf8 但是以上修改方法只对数据库中新增的记录生效,如果数据 ...
- 实数---Currency讲解
Currency 实际上是 Int64 的变体,Int64/10000 就是实际的值
- web.config中的HttpCookie.HttpOnly属性
Abstract: The program does not set the HttpCookie.HttpOnly property to true. Explanation: The defaul ...
- JavaScript编程总结
1. JS加载放在底部 2. JS和CSS合并,一个页面加载的JS和CSS越少越好 3. 尽量使用变量,页非全局变量. 4. 脚本和DOM交互越少越好,尽量批量修改. 5. 批量修 ...