经典SQL语句

Jun 07, 2016 pm 05:39 PM
권위 있는 성명

一.数据库管理SQL语句 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:创建视图:create view viewname as select statement 删除视图:drop view viewname 5、说明:删除新表: drop table tabname

一.数据库管理SQL语句

1、说明:创建数据库
CREATE DATABASE database-name
2、说明:删除数据库
drop database dbname
3、说明:创建视图:create view viewname as select statement
  删除视图:drop view viewname
5、说明:删除新表: drop table tabname
6、修改数据库的名称:sp_renamedb 'old_name', 'new_name'
7、说明:复制表(只复制结构,源表名:a 新表名:b)
  法一:select * into b from a where 11(仅用于SQlServer)
  法二:select top 0 * into b from a
8、说明:拷贝表(拷贝数据,源表名:a 目标表名:b)
 insert into b(a, b, c) select d,e,f from a
9、说明:跨数据库之间表的拷贝(具体数据使用绝对路径)
 insert into b(a, b, c) select d,e,f from a in ‘具体数据库’ where 条件
 例子:..from b in '"&Server.MapPath(".")&"\data.mdb" &"' where..

10、说明:列出数据库里所有的表名
 select name from sysobjects where type='U' // U代表用户
11、说明:列出表里的所有的列名
 select name from syscolumns where id=object_id('TableName')
12、说明:初始化表table1
 TRUNCATE TABLE table1

13、获取当前数据库中的所有用户表
select Name from sysobjects where xtype='u' and status>=0
14、查询某一个表的字段和数据类型
select column_name,data_type from information_schema.columns
where table_name = '表名'

15、压缩数据库
dbcc shrinkdatabase(dbname)

16:查看与某一个表相关的视图、存储过程、函数
select a.* from sysobjects a, syscomments b where a.id = b.id and b.text like '%表名%'

二. 远程数据库操作

不同服务器数据库之间的数据操作
--创建链接服务器
exec sp_addlinkedserver   'ITSV ', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 '
exec sp_addlinkedsrvlogin  'ITSV ', 'false ',null, '用户名 ', '密码 '
--查询示例
select * from ITSV.数据库名.dbo.表名
--导入示例
select * into 表 from ITSV.数据库名.dbo.表名
--以后不再使用时删除链接服务器
exec sp_dropserver  'ITSV ', 'droplogins '
 
--连接远程/局域网数据(openrowset/openquery/opendatasource)
--1、openrowset
--查询示例
select * from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名)
--生成本地表
select * into 表 from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名)
 
--把本地表导入远程表
insert openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名)
select *from 本地表
--更新本地表
update b
set b.列A=a.列A
 from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名)as a inner join 本地表 b
on a.column1=b.column1
--openquery用法需要创建一个连接
--首先创建一个连接创建链接服务器
exec sp_addlinkedserver   'ITSV ', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 '
--查询
select *
FROM openquery(ITSV,  'SELECT *  FROM 数据库.dbo.表名 ')
--把本地表导入远程表
insert openquery(ITSV,  'SELECT *  FROM 数据库.dbo.表名 ')
select * from 本地表
--更新本地表
update b
set b.列B=a.列B
FROM openquery(ITSV,  'SELECT * FROM 数据库.dbo.表名 ') as a 
inner join 本地表 b on a.列A=b.列A
 
--3、opendatasource/openrowset
SELECT   *
FROM   opendatasource( 'SQLOLEDB ',  'Data Source=ip/ServerName;User ID=登陆名;Password=密码 ' ).test.dbo.roy_ta
--把本地表导入远程表
insert opendatasource( 'SQLOLEDB ',  'Data Source=ip/ServerName;User ID=登陆名;Password=密码 ').数据库.dbo.表名
select * from 本地表

三. 查询语句

EXCEPT 运算符中但不在 TABLE2 中的行并消除所有重复行而派生出一个结果表。当 ALL EXCEPT 一起使用时 (EXCEPT ALL),不消除重复行。

但不包含后面的空格

为起始位置,虚拟主机,

right(char_expr,int_expr) 返回字符串右边第int_expr个字符,服务器空间,还用left于之相反

isnull( check_expression , replacement_value )如果check_expression為空,則返回replacement_value的值,不為空,美国空间,就返回check_expression字符操作类

1、说明:包括所有在     (select a from tableA ) except (select a from tableB) except (select a from tableC)

2.按姓氏笔画排序:
Select * From TableName Order By CustomerName Collate Chinese_PRC_Stroke_ci_as //从少到多

3、 date      num
2005-01-01      1
2005-01-01      3
2005-01-02      5
要求用一个SQL查出如下结果
2005-01-01      4
2005-01-02      5
合计            9

select date, sum(num) as num from table group by date
union
selec '合计'as date, sum(num) as num from table

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

PHP8.0의 다중 캐치 문 PHP8.0의 다중 캐치 문 May 14, 2023 pm 01:51 PM

PHP8.0의 다중 캐치 문

MySQL에서 테이블 잠금을 해제하는 명령문을 구현하는 방법은 무엇입니까? MySQL에서 테이블 잠금을 해제하는 명령문을 구현하는 방법은 무엇입니까? Nov 08, 2023 pm 06:28 PM

MySQL에서 테이블 잠금을 해제하는 명령문을 구현하는 방법은 무엇입니까?

MySQL에 데이터 삽입 명령문을 구현하는 방법은 무엇입니까? MySQL에 데이터 삽입 명령문을 구현하는 방법은 무엇입니까? Nov 08, 2023 am 11:48 AM

MySQL에 데이터 삽입 명령문을 구현하는 방법은 무엇입니까?

MySQL에서 테이블을 생성하는 명령문을 구현하는 방법은 무엇입니까? MySQL에서 테이블을 생성하는 명령문을 구현하는 방법은 무엇입니까? Nov 08, 2023 pm 08:21 PM

MySQL에서 테이블을 생성하는 명령문을 구현하는 방법은 무엇입니까?

MySQL에서 사용자 권한을 취소하는 명령문을 구현하는 방법은 무엇입니까? MySQL에서 사용자 권한을 취소하는 명령문을 구현하는 방법은 무엇입니까? Nov 08, 2023 pm 01:04 PM

MySQL에서 사용자 권한을 취소하는 명령문을 구현하는 방법은 무엇입니까?

SQL ALTER 문의 목적 SQL ALTER 문의 목적 Feb 19, 2024 pm 05:01 PM

SQL ALTER 문의 목적

MySQL에서 사용자 비밀번호를 변경하는 명령문을 구현하는 방법은 무엇입니까? MySQL에서 사용자 비밀번호를 변경하는 명령문을 구현하는 방법은 무엇입니까? Nov 08, 2023 am 09:05 AM

MySQL에서 사용자 비밀번호를 변경하는 명령문을 구현하는 방법은 무엇입니까?

Python의 흐름 제어 문을 이해하려면 여러 상황을 마스터해야 합니다. Python의 흐름 제어 문을 이해하려면 여러 상황을 마스터해야 합니다. Jan 20, 2024 am 08:06 AM

Python의 흐름 제어 문을 이해하려면 여러 상황을 마스터해야 합니다.

See all articles