Home >Database >Mysql Tutorial > 经典SQL语句

经典SQL语句

WBOY
WBOYOriginal
2016-06-07 17:39:451129browse

一.数据库管理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

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn