sql 学习基础篇

1 篇文章 0 订阅

一、基础

1、说明:创建数据库

CREATE DATABASE database-name;

database-name 是需要创建的数据库名称。

2、说明:删除数据库

drop database database-name;

database-name 是需要删除的数据库名称。

3、说明:备份sql server--- 创建 备份数据的 device

USE master

EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'

--- 开始 备份

BACKUP DATABASE pubs TO testBack

4、说明:创建新表


create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)

-- 根据已有的表创建新表:

-- 使用旧表创建新表
create table tab_new like tab_old;

-- 借助旧表创建新表
create table tab_new as select col1,col2… from tab_old definition only;

5、说明:删除新表

drop table tablename;

tablename 是需要删除的数据库表名称。

6、说明:表新增列

-- 增加一个列
Alter table tabname add column col type;
注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。

7、说明:添加、删除主键:

-- 添加主键:
Alter table tablename add primary key(col);

-- 删除主键:
Alter table tablename drop primary key(col);

8、说明:创建/删除索引:

-- 创建索引:
create [unique] index indexname on tabname(col….) ;
-- 删除索引:
drop index indexname;

注:索引是不可更改的,想更改必须删除重新建。

9、说明:创建/删除视图

-- 创建视图:
create view viewname as select * from statement;
-- 删除视图:
drop view viewname;

10、说明:几个简单的基本的sql语句

选择:select * from table1 where 范围 ;
插入:insert into table1(field1,field2) values(value1,value2) ;
删除:delete from table1 where 范围更新:update table1 set field1=value1 where 范围 ;
查找:select * from table1 where field1 like ’%value1%’  ;---like的语法很精妙,查资料!
排序:select * from table1 order by field1,field2 [desc] ;
总数:select count as totalcount from table1 ;
求和:select sum(field1) as sumvalue from table1 ;
平均:select avg(field1) as avgvalue from table1 ;
最大:select max(field1) as maxvalue from table1 ;
最小:select min(field1) as minvalue from table1 ;

11、说明:几个高级查询运算词

A:UNION 运算符UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表。当 ALL 随 UNION 一起使用时(即 UNION ALL),不消除重复行。两种情况下,派生表的每一行不是来自 TABLE1 就是来自 TABLE2。

B:EXCEPT 运算符

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

C:INTERSECT 运算符

INTERSECT运算符通过只包括 TABLE1 和 TABLE2 中都有的行并消除所有重复行而派生出一个结果表。当 ALL随 INTERSECT 一起使用时 (INTERSECT ALL),不消除重复行。

注:使用运算词的几个查询结果行必须是一致的。

12、说明:使用外连接

A、left (outer) join: 左外连接(左连接):结果集几包括连接表的匹配行,也包括左连接表的所有行。 SQL: select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c

B:right (outer) join: 右外连接(右连接):结果集既包括连接表的匹配连接行,也包括右连接表的所有行。 C:full/cross (outer) join: 全外连接:不仅包括符号连接表的匹配行,还包括两个连接表中的所有记录。12、分组:Group by:

一张表,一旦分组 完成后,查询后只能得到组相关的信息。组相关的信息:(统计信息) count,sum,max,min,avg 分组的标准)在SQLServer中分组时:不能以text,ntext,image类型的字段作为分组依据在selecte统计函数中的字段,不能和普通的字段放在一起;

更多消息资讯,请访问昂焱数据

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SQL Server的进阶包括以下几个方面: 1. 更新数据:使用UPDATE语句可以更新数据库中的数据。语法为"UPDATE [view_name] SET column_name = new_number WHERE 条件"。 2. 使用通配符进行模糊查询:在SQL Server中,可以使用通配符进行模糊查询。例如,使用"LIKE"关键字和通配符"%"可以匹配任意字符。例如,"SELECT * FROM Table WHERE field LIKE '%!_%' ESCAPE '!'"可以找到包含下划线的值。 3. 对查询结果进行排序:可以使用"ORDER BY"子句对查询结果进行排序。可以按照一个或多个列进行排序,可以指定升序(ASC)或降序(DESC)。例如,"SELECT * FROM Table ORDER BY column_name ASC"将按照指定列升序排列查询结果。 4. 子查询:子查询是一个查询中嵌套在主查询中的查询。可以使用子查询来获取更复杂的查询结果。例如,"SELECT Sno, Sname, Ssex FROM Student WHERE Sdept IN(SELECT Sdept FROM Student WHERE Sname='钟文辉')"可以查询出和名字为'钟文辉'的学生同一系别的学生的学号、姓名和性别。 请注意,以上是SQL Server进阶的一些常见概念和技巧,还有更多的进阶内容可以进一步学习和应用。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [SQL Server 入门学习总结---进阶](https://blog.csdn.net/My_heart_/article/details/64125218)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [速学Sql Server从基础到进阶](https://blog.csdn.net/weixin_45364220/article/details/123472526)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值