当前位置:文档之家› SQL必须掌握的基础知识

SQL必须掌握的基础知识

SQL必须掌握的基础知识
SQL必须掌握的基础知识

SQL必须掌握的基础知识

说明:SQL是操作数据库内容的,可以进行select查询检索,update修改,insert into添加,delete 删除

以下内容举例,均参考下表:

常用关键词含义的简单说明(不区分大小写)

SELECT ---------查询,检索数据库,从数据库表中检索数据行和列

INSERT --------添加数据,向数据库表添加新数据行

DELETE --------删除数据,从数据表中删除数据行

UPDATE --------更新数据库表中的数据

WHERE --------设置条件

以下内容都是在WHERE内使用

LIKE --------模糊查询

IN --------包含

BETWEEN --------在两者之间

TOP -----------前几条信息

LIMIT --------用于在MYSQL中设置显示的记录位置和数量

以上内容在WHERE内使用

ORDER BY --------设置排序规则,以下两个是它的两个规则

ASC --------排序规则为升序(默认),123456

DESC -------- 排序规则为降序,654321

SELECT 基本语句

主要被用来对数据库进行查询并返回符合用户查询标准的结果集。最基本的SELECT 语句格式为:SELECT [ALL|DISTINCT] select_list

FROM table_list

[WHERE search_condition]

[GROUP BY group_by_expression]

[HAVING search_condition]

[ORDER BY order_list[ASC|DESC]]

其中[]内是可选内容,详细使用方法介绍如下:

[ALL|DISTINCT]:ALL显示表中满足条件的所有记录,DISTINCT删除查询结果中重复的记录,只返回满足条件的第一条记录。

[WHERE search_condition]:设置筛选条件,过滤掉不需要的记录。WHERE子句可以包含以下各种运算符:1.比较运算符(大小比较):>、>=、=、<、<=、<>、!>、!<

2.范围运算符(表达式值是否在指定范围内):BETWEEN……AND……、NOT…

BETWEEN……AND……

3.列表运算符(判断表达式是否为列表中指定的项):IN(项1,项2,……)、NOT

IN(项1,项2,……)

4.模糊判断符(判断值是否与指定的字符匹配格式相符):LIKE、NOT LIKE

5.空值判断符(判断表达式是否为空):IS NULL、IS NOT NULL

6.逻辑运算符(用于多个条件的逻辑连接):NOT 、AND、OR

GROUP BY group_by_expression 根据group_by_expression 列中的值将结果集分成组。

HAVING search_condition 通常与GROUP BY配合使用,对结果集进行附加筛选。如果不使用GROUP BY子句,HAVING与WHERE的作用一样。HAVING与WHERE区别在于:WHERE子句搜索条件在进行分组操作之前应用,而HAVING搜索条件在进行分组之后应用。HAVING通常作为SQL语句的最后一句。

ORDER BY order_list[ASC|DESC] 排序

以下内容[ ]中括号里面是可选内容,书写时不用带[ ]中括号

select * 解释:*代表所有字段

from 数据表

where 条件表达式

order by 字段名 [ASC/DESC]

答案如下:

Select * 注释:检索显示所有的字段

From NEWS 注释:来自表NEWS

Where leiid=1 注释:条件是分类leiid等于1

Order by id DESC 注释:排序进行倒序,654321的排列方法即为倒序。

select *

from 数据表

where 字段名 like %字段值%

order by 字段名 [ASC/DESC]

答案如下:

先设置一个变量:aaa=request.form(“titles”) 取得表单文本域titles传过来的值

select * 注释:检索显示所有字段

from NEWS 注释:来自表NEWS

where biaoti like %aaa% 注释:数据库字段biaoti包含变量aaa(AAA上面有解释),%所有字符order by id DESC

select *

from 数据表

where 字段名in(值1,值2,值3)

select *

from 数据表

where 字段名between 值1 and 值2

在MYSQL中取得前10条记录不能用TOP,而用

select *

from 数据表

where 字段名=字段值

order by 字段名 [desc] limit 0,10

SELECT 多表的基本语句

FROM可以读取两个或多个表,当用到字段的时候,写法是表名.字段名,中间用句点链接,公式如下:两个表或是多个表的联合

Select 表A.字段名1,表B.字段名1[,…….]

From 表A,表B[,…….]

Where表A.字段名1=表B.字段名1[AND/OR 表A.字段名2=表B.字段名2] [,…….]

UPDATE 更新数据基本语句

只要是提到更新数据,就要用到UPDATE。以下是关于UPDATE的写法及实例

1.更新数据记录

(1)update 数据表

set 字段名=字段值

where 条件表达式

(2)update 数据表

set 字段1=值1,字段2=值2……字段n=值n

where 条件表达式

例子:update score set jishu=jishu+1 where id=1

DELETE 删除数据基本语句

只要是提到删除数据,就要用到delete。以下是关于DELETE的写法及实例

删除数据记录

(1)delete from 数据表

where 条件表达式

(2)delete from 数据表(将数据表中所有记录删除)

例子:Delete from news where id=3101

INSERT INTO 添加数据基本语句

只要是提到添加数据,就要用到insert into。以下是关于insert into的写法及实例

添加数据记录

(1)insert into 数据表(字段1,字段2,字段3…)values(值1,值2,值3…)

(2)insert into 目标数据表 select * from 源数据表 (把源数据表的记录添加到目标数据表)

例子:

INSERT INTO news(biaoti,neirong)

VALUES (‘学习编程’,’学习编程重要的是学会分析’)

Where id=1

聚合函数的用法

AVG([ALL|DISTINCT]字段名)得出一个表格栏平均值

COUNT([ALL|DISTINCT]*|字段名)对数据行数的统计或对某一栏有值的数据行数统计

MAX(字段名)取得一个表格栏最大值

MIN(字段名)取得一个表格栏最小值

SUM([ALL|DISTINCT]字段名)把数据栏的值相加

解释[ALL|DISTINCT]:ALL显示表中满足条件的所有记录,DISTINCT删除查询结果中重复的记录,只返回满足条件的第一条记录。

聚合函数用法举例如下:

1.在FILM表中查询每个影院总的票款

Select sum(单价*卖出票数) as 票款,影院

From film

Group by 影院

2.统计FILM中有几家影院

Select count(didtinct 影院) as 影院个数

From film

3.统计片名为A1的影片在各影院平均卖出的票数

Select AVG(卖出票数) AS 平局卖出票数,影院

From film

Where 片名=”A1”

GROUP BY 影院

4.统计片名为A1的影片在各个影院卖出票数的最大值。

Select AVG(卖出票数) AS卖出票数

From film

Where 片名=”A1”

SQL数据库基础知识集合

1、数据库简介: 数据库是专门开发数据管理的软件,或者说专门管理数据的软件就是数据库。 数据库存在的意义就是:减轻开发人员的负担。数据库是一个综合的软件,那么我们不需要队要进行2进制保存数据进行处理了,但是却是要与数据库产生交互,那么命令式SQL,有技巧的,数据库就是万物皆关系(面向对象,万物皆是对象)有所区别。 2、数据库的发展: 一开始的是层次化的数据与网状数据库,后来也发现使用确实很麻烦。 于是到了1970年EF.Cold博士(IBM公司的研究员)开创了关系性的数据库的先驱,发表了关系性数据库的论文,但是由于当时电脑硬件的局限性,大家觉得跑如此大的程序不值得。后来,Oracle(甲骨文)公司的创始人,拉里带领Oracle投入到关系型数据库的研发,并且得到了一个大客户—美国国防部。随即开始世界刮起了关系数据库的旋风,随后各个公司都纷纷推出自己的数据库系统。比如:IBM的DB2 ,还有风靡一时的DBS3。 但是随即出现不兼容的问题,由于最早的时候都没有进行没规范。所以到最后各个数据库巨头统一了操纵数据库的SQL(结构化Struct数据查询语言)变成了标准语言,而关系型数据库也俨然变成大家的宠儿,Oracle也从一个小公司,变成现在的数据库巨头,而我们的微软也推出了SQLServer。当然还有PHPer的最爱mySQL。但是mySQL被SUN,SUN 被Oracle收购,现在有免费版与收费专业版了。所以我们学习SQL语言的时候,先学共同点,再学特异性。各种数据库软件在使用上有一点区别。 3、数据库系统详解: 为适应数据处理的需要而发展起来的一种较为理想的数据处理的核心机构。计算机的高速处理能力和大容量存储器提供了实现数据管理自动化的条件。 数据库系统一般由4个部分组成: 数据库,即存储在磁带、磁盘、光盘或其他外存介质上、按一定结构组织在一起的相关数据的集合。(个体) 数据库管理系统(DBMS)。一组能完成描述、管理、维护子数据库的程序系统。它按照一种公用的和可控制的方法完成插入新数据、修改和检索原有数据的操作。 数据库管理员(DBA)。 用户和应用程序。(微软的称作SSMS) 4、数据库系统的基本要求是: 1、能够保证数据的独立性。数据和程序相互独立有利于加快软件开发速度,节省开发费用。 2、冗余数据少,数据共享程度高。 3、系统的用户接口简单,用户容易掌握,使用方便。 4、能够确保系统运行可靠,出现故障时能迅速排除,能够保护数据不受非受权者访问或破坏,能够防止错误数据的产生,一旦产生也能及时发现。 5、有重新组织数据的能力,能改变数据的存储结构或数据存储位置,以适应用户操作特性的变化,改善由于频繁插入、删除操作造成的数据组织零乱和时空性能变坏的状况。 6、具有可修改性和可扩充性、可维护性。 7、能够充分描述数据间的内在联系。 5、数据库(Database): 由众多的数据、数据表、约束、存储过程、函数、视图、索引构成的一个数据存储与交互单元,是按照数据结构来组织、存储和管理数据的仓库。 6、数据表(table): 数据表,实际上是一个二维表。一般是围绕一个事务、动作记录,或者是一个信息主题作为一个数据表。数据表由行与列构成。 7、列(column、field): 列,其实就是字段。也是决定了信息的基本单元。列,包含有数据类型的设定。 8、行(row、record): 行,实际上就是一条基本信息。一行包含了多列数据的存储的信息。所以一行也有一条记录之称。 9、行业(trade) 一个行业一种需求,没一个需求每一种数据库的设计模式与思想。每个行业的数据设计的重点都是不同的。侧重查询(要求低范式)还是操作(要求搞范式)就是自己选择的问题了。 10、索引(index) 索引是一个单独的、物理的数据库结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。索引其实就是一个B+树,但是这个索引是N^n层数次方的。目的就是在数据库中划分出一定的区域优化查询。可以提升大量数据的查询速度。索引一般可以分为:基于字段优化查询速度的普通索引、唯一性索引、主键索引、全文索引、单列与多列索引。现在由于数据库系统的不断升级,我们只要设定索引就可以了,不需要特殊的维护。而且数据在查询的时候也会根据查询适当地选择是利用索引查询,还是仅仅是表查询。由于数据库系统的发展,系统内部已经自动帮我们完成对索引的维护。但是在设计的时候要考虑到索引的损耗问题。数据库DB就像是一个字典,索引就是根据指定字段制成的快速指向。由于只是指向数据对象标识,真正的数据是存储在DB中,所以查询速度极快。但是额外的内存与硬盘花销也是一个需要考虑的问题。比如:增加、删除、修改时数据库都要对索引进行维护,但是这样也是为了最后查询的效率的提升,特别适合W行级别的数据查询。而索引可以分为:隐式索引(针对单个字段)、唯一索引(唯一约束)、函数索引(函数(字段))、聚簇索引(主键)、组合索引(最多16个field)与全文索引(text)。一般索引会占用原数据库大小的20%。 11、视图(view) 固化的子查询,将一个子查询起了一个固化的名字,保存在数据库中,方便以后的使用。其实调用大量的Join来进行一个查询一般也是用视图。视图与索引都是为了优化查询的速度与语句。视图是优化语句,索引是优化单查速度。一般是DBA来设定数据库的视图,封装内部数据库的数据关系,范式修改数据容易了,视图让我们查询复杂关系的数据变得容易。 12、触发器(trigger) 触发器(trigger)是个特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由个事件来触发,比如当对一个表进行操作(insert,delete,update)时就会激活它执行。触发器经常用于加强数据的完整性约束和业务规则等。触发器可以从DBA_TRIGGERS ,USER_TRIGGERS 数据字典中查到。 13、SQLServer数据类型详解

sql数据库基础面试题复习试题考试题_全

不定项选择题(针对以下题目,请选择最符合题目要求的答案,每道题有一项或二项正确答案。针对每一道题目,所有答案都选对,则该题得分,所选答案错误或不能选出所有答案,则该题不得分。题量为50道,每题2分,总分为100分。) 第一章 1、是SQLServer数据库的主数据文件的扩展名。(选择一项) A、.sql B、.mdb C、.ldf D、.mdf 2、在SQL Server 2005中,有系统数据库和用户数据库,下列不属于系统数据库的是()。 (选择一项) A、master B、pubs C、model D、msdb 3、当安装完SQL Server2005数据库时,系统默认当前的超级管理员是( ) (选择一项) A、sa B、master C、administrator D、super 4、在使用SQL Server2005数据库时,有时需要将本机的数据库移动到其他机器上,恢复成对应的数据库使用。移动数据库分两步进行,应包括()和附加数据库(选择一项)A、分离数据库 B、删除数据库 C、新建数据库 D、合并数据库 5、在SQL Server2005中,附加数据库操作是指()(选择一项) A、把SQL Server 数据库文件保存为其他数据文件 B、根据数据库物理文件中的信息,把数据库在SQL Server 2005中恢复 C、把所有该数据库表的数据清空 D、把数据库删除掉 6、某单位由不同的部门组成,不同的部门每天都会生产一些报告、报表等数据,以为都采用纸张的形式来进行数据的保存和分类,随着业务的发展,这些数据越来越多,管理这些报告越来越费力,此时应考虑()(选择一项) A、由多个人来完成这些工作 B、在不同的部门中,由专门的人员去管理这些数据 C、采用数据库系统来管理这些数据 D、把这些数据统一成一样的格式 7、在SQL Server 2005中,对于数据库的定义正确的是()(选择一项) A、数据库是用来描述事物的符号记录 B、数据库是位于用户与操作系统之间的一层数据管理软件

(整理)SQLServer数据库基本知识点.

SQL Server 数据库基本知识点一、数据类型

二、常用语句 (用到的数据库Northwind) 查询语句 简单的Transact-SQL查询只包括选择列表、FROM子句和WHERE子句。它们分别说明所查询列、查询的 表或视图、以及搜索条件等。例如,下面的语句查询Customers 表中公司名称为“Alfreds Futterkiste”的ContactName字段和Address字段。 SELECT ContactName, Address FROM Customers WHERE CompanyName='Alfreds Futterkiste' (一) 选择列表 选择列表(select_list)指出所查询列,它可以是一组列名列表、星号、表达式、变量(包括局部变量和全局变量)等构成。 1、选择所有列 例如,下面语句显示Customers表中所有列的数据: SELECT * FROM Customers 2、选择部分列并指定它们的显示次序查询结果集合中数据的排列顺序与选择列表中所指定的列名排列顺序相同。 例如: SELECT ContactName, Address FROM Customers 3、更改列标题 在选择列表中,可重新指定列标题。定义格式为: 列标题 as 列名 列名列标题如果指定的列标题不是标准的标识符格式时,应使用引号定界符,例如,下列语句使用汉字显示列标题: SELECT ContactName as 联系人名称, Address as地址 FROM Customers 4、删除重复行

SELECT语句中使用ALL或DISTINCT选项来显示表中符合条件的所有行或删除其中重复的数据行,默认 为ALL。使用DISTINCT选项时,对于所有重复的数据行在SELECT返回的结果集合中只保留一行。 SELECT DISTINCT(Country) FROM Customers 5、限制返回的行数 使用TOP n [PERCENT]选项限制返回的数据行数,TOP n说明返回n行,而TOP n PERCENT 时,说明n是 表示一百分数,指定返回的行数等于总行数的百分之几。 例如: SELECT TOP 2 * FROM Customers SELECT TOP 20 PERCENT * FROM Customers (二)FROM子句 FROM子句指定SELECT语句查询及与查询相关的表或视图。在FROM子句中最多可指定256个表或视图,它们之间用逗号分隔。在FROM子句同时指定多个表或视图时,如果选择列表中存在同名列,这时应使用对象名限定这些列 所属的表或视图。例如在Orders和Customers表中同时存在CustomerID列,在查询两个表中的CustomerID时应 使用下面语句格式加以限定: select * from Orders,Customers where Orders.CustomerID =Customers.CustomerID 在FROM子句中可用以下两种格式为表或视图指定别名: 表名 as 别名 表名别名 select * from Orders as a,Customers as b where a.CustomerID =b.CustomerID SELECT不仅能从表或视图中检索数据,它还能够从其它查询语句所返回的结果集合中查询数据。 例如: select * from Customers where CustomerID in (select CustomerID from Orders where EmployeeID=4) 此例中,将SELECT返回的结果集合给予一别名CustomerID,然后再从中检索数据。 (三) 使用WHERE子句设置查询条件 WHERE子句设置查询条件,过滤掉不需要的数据行。例如下面语句查询年龄大于20的数据:select CustomerID from Orders where EmployeeID=4

数据库基本知识(自己整理,初学者可以看一下,基于某MySql)

数据库

1常见数据库 1.1MySql : 甲骨文 1.2Oracle: 甲骨文 1.3SQL Server: 微软 1.4Sybase: 赛尔斯 1.5DB2: IBM 2MySql基础知识 2.1关系结构数据模型数据库 2.2SQL(Structured Query Language)结构化查询语言2.2.1DDL(Data Definition Language):数据定义语言,用来定义数据库对象:库、表、列等 操作数据库 CREATE DATABASE [IF NOT EXISTS]mydb1 USE mydb1 DROP DATABASE [IF NOT EXISTS] mydb1

ALTER DATABASE mydb1 CHARACTER SET utf8 操作表 插入表 CREATE TABLE stu( sid CHAR(6), sname VARCHAR(20), age INT, gender VARCHAR(10) ); 更改表 ALTER TABLE t_user ADD (student varcher(20)) ALTER TABLE t_user MODIFY gender CHAR(20) ALTER TABLE t_user CHANGE gender VARCHER(20) ALTER TABLE t_user REMANE genderTO genders ALTER TABLE t_user DROP gender 删除表 DROP TABLE t_user 2.2.2DML(Data Manipulation Language):数据操作语言,用来定义数据库记录(数据) 插入数据 INSERT INTO t_user VALUES() INSERT INTO 表名 VALUES(值1,值2,…)

SQL必须掌握的基础知识

SQL必须掌握的基础知识 说明:SQL是操作数据库内容的,可以进行select查询检索,update修改,insert into添加,delete 删除 以下内容举例,均参考下表: 常用关键词含义的简单说明(不区分大小写) SELECT ---------查询,检索数据库,从数据库表中检索数据行和列 INSERT --------添加数据,向数据库表添加新数据行 DELETE --------删除数据,从数据表中删除数据行 UPDATE --------更新数据库表中的数据 WHERE --------设置条件 以下内容都是在WHERE内使用 LIKE --------模糊查询 IN --------包含 BETWEEN --------在两者之间 TOP -----------前几条信息 LIMIT --------用于在MYSQL中设置显示的记录位置和数量 以上内容在WHERE内使用 ORDER BY --------设置排序规则,以下两个是它的两个规则 ASC --------排序规则为升序(默认),123456 DESC -------- 排序规则为降序,654321 SELECT 基本语句 主要被用来对数据库进行查询并返回符合用户查询标准的结果集。最基本的SELECT 语句格式为:SELECT [ALL|DISTINCT] select_list FROM table_list [WHERE search_condition] [GROUP BY group_by_expression] [HAVING search_condition] [ORDER BY order_list[ASC|DESC]] 其中[]内是可选内容,详细使用方法介绍如下: [ALL|DISTINCT]:ALL显示表中满足条件的所有记录,DISTINCT删除查询结果中重复的记录,只返回满足条件的第一条记录。 [WHERE search_condition]:设置筛选条件,过滤掉不需要的记录。WHERE子句可以包含以下各种运算符:1.比较运算符(大小比较):>、>=、=、<、<=、<>、!>、!< 2.范围运算符(表达式值是否在指定范围内):BETWEEN……AND……、NOT… BETWEEN……AND…… 3.列表运算符(判断表达式是否为列表中指定的项):IN(项1,项2,……)、NOT IN(项1,项2,……)

数据库基础知识和sql语句

第一章数据库基础知识 本章以概念为主,主要是了解数据库的基本概念,数据库技术的发展,数据模型,重点是关系型数据。 第一节:信息,数据与数据处理 一、信息与数据: 1、信息:是现实世界事物的存在方式或运动状态的反映。或认为,信息是一种已经被加工为特定形式的数据。 信息的主要特征是:信息的传递需要物质载体,信息的获取和传递要消费能量;信息可以感知;信息可以存储、压缩、加工、传递、共享、扩散、再生和增值 2、数据:数据是信息的载体和具体表现形式,信息不随着数据形式的变化而变化。数据有文字、数字、图形、声音等表现形式。 3、数据与信息的关系:一般情况下将数据与信息作为一个概念而不加区分。 二、数据处理与数据管理技术: 1、数据处理:数据处理是对各种形式的数据进行收集、存储、加工和传输等活动的总称。 2、数据管理:数据收集、分类、组织、编码、存储、检索、传输和维护等环节是数据处理的基本操作,称为数据管理。数据管理是数据处理的核心问题。 3、数据库技术所研究的问题不是如何科学的进行数据管理。 4、数据管理技术的三个阶段:人工管理,文件管理和数据库系统。 第二节:数据库技术的发展 一、数据库的发展:数据库的发展经历了三个阶段: 1、层次型和网状型: 代表产品是1969年IBM公司研制的层次模型数据库管理系统IMS。 2、关系型数据型库: 目前大部分数据库采用的是关系型数据库。1970年IBM公司的研究员E.F.Codd提出了关系模型。其代表产品为sysem R和Inges。 3、第三代数据库将为更加丰富的数据模型和更强大的数据管理功能为特征,以提供传统数据库系统难以支持的新应用。它必须支持面向对象,具有开放性,能够在多个平台上使用。 二、数据库技术的发展趋势: 1、面向对象的方法和技术对数据库发展的影响: 数据库研究人员借鉴和吸收了面向对旬的方法和技术,提出了面向对象数据模型。 2、数据库技术与多学科技术的有机组合: 3、面向专门应用领域的数据库技术 三、数据库系统的组成:

新手学习SQL必看,SQL基础知识

新手学习SQL必看,SQL基础知识 SQL定义:SQL是一种面向数据库的通用数据处理语言规范,能完成以下几类功能:提取查询数据,插入修改删除数据,生成修改和删除数据库对象,数据库安全控制,数据库完整性及数据保护控制。 SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK) db2数据类型 CHAR():定长字符串最大长度为 254 VARCHAR():变长字符最大长度为 4000 SMALLINT:短整型数字长度为 2 字节 INTEGER:整型数字长度为 4 字节 REAL:单精度浮点 32 位近似值 DOUBLE:双精度浮点 64 位近似值 DECIMAL(m,n):数字精度为m小数位为n DATE:日期时间 TIME:日期时间 TIMESTAMP:日期时间 DDL—数据库定义语言:直接提交的。 CREATE:用于创建数据库对象。 DECLARE:除了是创建只在过程中使用的临时表外,DECLARE语句和CREATE语句非常相似。唯一可以被声明的对象是表。并且必须放入用户临时表空间。 DROP:可以删除任何用CREATE(数据库对象)和DECLARE(表)创建的对象。

ALTER:允许修改某些数据库对象的信息。不能修改索引。 下面主要基于对象介绍基本的语法: 1、数据库: 创建数据库:CREATE DATABASE database-name [USING CODESET codeset TERRI TORY territory] 注:代码页的问题。 删除数据库:drop database dbname 2、表: 创建新表: create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..) 根据已有的表创建新表: A:create table tab_new like tab_old B:create table tab_new as select col1,col2… from tab_old definition only 修改表: 增加一个列: Alter table tabname add column col type 注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加va rchar类型的长度。添加主键: Alter table tabname add primary key(col) 删除主键: Alter table tabname drop primary key(col) 删除表:drop table tabname 3、表空间: 创建表空间:create tablespace tbsname pagesize 4k managed by database using (file ‘f ile’ size) 表空间加入容器:alter tablespace tablespace_name add(file 'filename' size) 注:该操作是不可逆的,加入容器后将不能将其删除,因此在加入的时候注意。 删除表空间:drop tablespace tbsname 4、索引:

数据库基本SQL语句大全

数据库基本SQL语句大全 数据库基本----SQL语句大全 一、基础 1、说明:创建数据库 Create DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建备份数据的device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1、d at' --- 开始备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表 create table tabname(col1 type1 [not null] [primary key],col2 typ e2 [not null],、、) 根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2…from tab_old definit ion only 5、说明:删除新表 drop table tabname 6、说明:增加一个列 Alter table tabname add column col type 注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的就是增加varchar类型的长度。 7、说明:添加主键: Alter table tabname add primary key(col) 说明:删除主键: Alter table tabname drop primary key(col) 8、说明:创建索引:create [unique] index idxname on tabname(col…、) 删除索引:drop index idxname 注:索引就是不可更改的,想更改必须删除重新建。 9、说明:创建视图:create view viewname as select statement

Sql Server 基础知识总结

一、语句建库、表 1.回顾 1)数据库文件 主数据文件(.mdf) 次数据文件(.ndf) 日志文件(.ldf) 2.建库 1)语法

2)必要属性 存储位置 初始大小 增长速度 3)示例 4)注意事项 单位必须完整(必须具有”B”,eg:KB、MB等) 数据库的逻辑名称不能出现重复

5)建议 将数据文件和日志文件进行分开存放 数据库的初始大小及增长速度计算后在定义 3.删除数据库 1)语法 2)示例 3)建议 删除数据库之前尽量使用判断语句检查数据库是否存在。 4.建表 1)数据类型 字符类型 ?Char :非unicode的固定长度的字符类型 ?Varchar :非unicode的可变长度的字符类型 ?Nchar :unicode的固定长度的字符类型

?Nvarchar :unicode的可变长度的字符类型 ?Text 数值 Int、float、decimal、number 布尔类型 Bit 日期类型 Datetime 二进制 Image 2)语法 注:特征—非空(Not null)、自增(Identity) 3)示例

4)数据完整性 实体完整性 ?要求 唯一标识每行记录 ?实现 主键、唯一、自增 域完整性 ?要求 保证列数据的有效性 ?实现 数据类型、非空、默认值、检查 引用完整性 ?要求 引用完整性约束保证两(多)表之间数据的有效性 ?实现 引用关系 自定义完整性 ?要求 通过编写自定义的逻辑或规则实现数据的验证。 ?实现 存储过程、触发器、规则

5)约束(Constraint) 主键约束(Primary Key Constraint) 作用:数据唯一且不允许出现null值 唯一约束(Unique Key Constraint) 作用:数据唯一但允许出现一次null值 检查约束(Check Constraint) 作用:数据符合规则 引用约束(Foreign Key……References) 作用:保证两表之间数据的有效性 默认值约束(Default Constraint) 作用:提供默认的字段值 6)命名规则 缩写_列名 7)分类 行内约束

SQL数据库基本语法格式

基本语法格式 select(聚合函数)的语句格式:(这个不会考试就危险 了) select * from 表名 上面一句可以查出一张你指定表名的表里的全部东西,* 的位置可以替换其他的东西,比如:select 列 1 名, 列 2 名from 表名 这样你就可以只看表里列1,列2两列。还可以加COUNT(),YEAR(等函数,具体看 书吧!! 在后面可以接where,group by,order by 等 where 的用法: select * from 表名where 条件表达式 条件表达式就好比列 1 值>0 啊,列 2 值=0&0啊,之类的。这样我们就之看符合条件的。 group by 的用法: select 列名1,count(列名2) as ' 自定义列名' from 表名 group by 列名 1 这句就是把表里所有列名 1 相同的行集合成一行,顺便说下count(列名2) as ' 自定义列名' ,count()是总行数的意思,考试经常要和group by 一起用。如果要求总合用sum()这个函数。as '自定义列名’就是给列付个名字。如果要进一步筛选就在语句的最后加"HAVING 条件表达式"就可以了。 ORDER BY勺用法: select * from 表名[where 条件表达式] ORDER BY列名N 这样就是依照列名N的顺序排列了,最后加上DESC就是降序排列 连表查询 Select需要的列名1,需要的列名 2 ,……需要的列名N from 表1,表2 Where表1.某列=表2.某列and其他要求的条件表达式 以上就是连两个表的Select 语句, 你也可以连 3 或多个表,只要每个表和其他的表有联系就可以了。 如果上面的看不太懂我举个例子: 我们有2张表:B1,B2。B1里有“动画名称”和“时间”两列。B2里有“动画名称” 和“制作公司”两列。其中两个表的动画名称是对应的,现在要你显示出“动画名称”, “时间”和“制作公司” ,做法如下: SELECT B1. 动画名称, 时间, 制作公司from B1,B2 where B1. 动画名称= B2. 动画名称 ps: “SELECT B1. 动画名称, 时间, 制作公司”里面我要求返回3项,第一项因为两个表列名重复所以要前面加“表名. ” 如果上面的题目还要加条件,比如我们只要“制作公司”是“A”公司的,就这样写where 语句: where B1. 动画名称= B2. 动画名称AND 制作公司='A' update (更新)的语句格式: update 表名 set 列名 1 = xxx, 列名 2 = xx, ... 列名N = xx where 列名x =

SQL Server数据库基础教程课后答案

1.SQL的特点是什么? (1)一体化的特点 (2)统一的语法结构,多种使用方式 (3)高度非过程化 (4)语言简洁 (5)客户机/服务器(Client/Server)结构 (6)支持异类复制 (7)Internet数据库功能的集成 2.关系数据库的主要模型有哪些? 关系模型:通过关系,按给定的选择条件,选出符合条件的元组,较灵活 层次模型:要查找一个记录必须从根记录开始,按给定条件沿一个层次路径进行查找网状模型:在查找语句中要说明查找的对象和存取的路径,操作较繁琐 3.简述文件和文件组的概念? 主要数据文件:该文件包含数据库的启动信息,并用于存储数据,扩展名是.mdf 文件组:为了方便数据的分配、放置和管理,SQL Server允许对文件进行分组处理。在同一个组里的文件组成文件组,然后,可以在文件组group上创建表。对表中 数据的查询将被分散到三个磁盘上,查询性能将得到提高 4.日志文件的作用是什么? 事务日志是数据库中已发生的所有修改和执行每次修改的事务的一连串记录。事务日志记录每个事务的开始。 这些文件包含用于恢复数据库的日志信息。每个数据库都必须至少有一个日志文件,扩展名是.ldf 5.数据库的表的作用是什么? 数据库—表—记录—字段—属性 6.数据库允许有哪些数据类型?它们的范围是多少?并说明含义?

整型数据类型: (1) bigint:占8字节的存储空间,存储数据范围为-263~263-1。 (2) int:占4字节的存储空间,存储数据范围为-231~231-1。 (3) smallint:占2字节的存储空间,存储数据范围为-215~215-1。 (4) tinyint:占1字节的存储空间,存储数据范围为0~255。 Unicode字符数据 使用Unicode数据类型,列可存储由Unicode标准定义的任何字符,包含由不同字符集定义的所有字符 nvarchar 列大小不固定<4000个字符数 nchar 列大小固定<4000个字符数 ntext >4000个字符数

SQL 基础知识汇总(2019)

SQL 基础知识梳理(一)- 数据库与SQL (2019.03)

目录 ?What's 数据库 ?数据库结构 ?SQL 概要 ?创建数据库与表 ?删除和更新表 一、What's 数据库 1.数据库(Database,DB):将大量数据保存起来,通过计算机加工而成的可以进行高效访问的数据集合。如:大型-银行存储的信息,小型-电话簿。 2.数据库管理系统(Batabase Management System,DBMS):用来管理数据库的计算机系统。 3.关系型数据库(Relational Database,RDB):目前应用最广泛的数据库。 4.结构化查询语言(Structured Query Language,SQL):专门用于操作RDB。 5.常见的5 种关系型数据库管理系统(Relational Database Management System,RDBMS): ①Oracle Database:甲骨文公司 ②SQL Server:微软公司 ③DB2:IBM 公司 ④PostgreSQL:开源 ⑤MySQL:开源 二、数据库结构 1.服务器:用于接收并处理其它程序发出的请求的程序(软件),或者是安装此类程序的设备(计算机)。 2.客户端:向服务器发出请求的程序(软件),或者是安装此类程序的设备(计算机)。

3.表(table):类似Excel,由行和列组成的二维表。 4.字段:表的列(垂直方向)。 5.记录:表的行(水平方向)。【注意】关系数据库必须以行为单位进行数据读写。 6.单元格:行列交汇处。【注意】与Excel 不同,一个单元格只能输入一个数据。 三、SQL 概要 1.SQL 语句:用关键字、表名和列名等组合而成的一条语句。 2.3 种 SQL 语句种类: (1)DDL(Data Definition Language,数据定义语言):创建、删除或修改数据库以及数据库中的表等对象。 ①CREATE:创建数据库和表等对象 ②DROP:删除数据库和表等对象 ③ALTER:修改数据库和表等对象

数据库基本知识和基础sql语句

数据库的发展历程 ●没有数据库,使用磁盘文件存储数据; ●层次结构模型数据库; ●网状结构模型数据库; ●关系结构模型数据库:使用二维表格来存储数据; ●关系-对象模型数据库; 理解数据库 ●RDBMS = 管理员(manager)+仓库(database) ●database = N个table ●table: ●表结构:定义表的列名与列类型! ●表记录:一行一行的记录! Mysql安装目录: ●bin目录中都就是可执行文件; ●my、ini文件就是MySQL的配置文件; 相关命令: ●启动:net start mysql; ●关闭:net stop mysql; ●mysql -u root -p 123 -h localhost; ?-u:后面的root就是用户名,这里使用的就是超级管理员root; ?-p:后面的123就是密码,这就是在安装MySQL时就已经指定的密码; ●退出:quit或exit; sql语句 语法要求 ●SQL语句可以单行或多行书写,以分号结尾; ●可以用空格与缩进来来增强语句的可读性; ●关键字不区别大小写,建议使用大写; 分类 ●DDL(Data Definition Language):数据定义语言,用来定义数据库对象:库、表、列等; ●DML(Data Manipulation Language):数据操作语言,用来定义数据库记录(数据); 基本操作 ●查瞧所有数据库名称:SHOW DATABASES; ●切换数据库:USE mydb1,切换到mydb1数据库; ●创建数据库:CREATE DATABASE [IF NOT EXISTS] mydb1; ●修改数据库编码:ALTER DATABASE mydb1 CHARACTER SET utf8 ●创建表: CREATE TABLE 表名( 列名列类型,

数据库基础知识点

1. 数据库的作用 持久化:永久得保存数据。 数据挖掘:通过以有信息,发掘出有价值的信息。 冗余:数据的重复出现,(插入,删除,修改)带来一些异常。查询时可以提高查询的效率。 2. 创建数据库,创建表,确定表中字段的类型 数据文件:.mdf(main data file主要数据文件) .ldf(log data file 日志数据文件) 数据完整性:保证数据库的数据是客观真实的,没有错误的。 数据库登录: 方式一:window身份验证,如果你具有登录操作系统的权限,你就可以登录登录数据库。 方式二:sql server身份验证,能够登录操作系统,还需要知道登录名和密码。 用户名sa 数据库管理者,他是数据库的最大权限拥有者 常用数据类型: 整型:bigint int smallint tinyint 货币:money smallmoney 时间:datetime smalldatetime 位:bit (0,1) 字符串:char varchar text(一个字符表示8位) Nchar nvarchar ntext(一个字符表示16位) 差异:1. 字符串类型需要加长度。Char(4) text,ntext不需要加长度 2. char varchar的区别 Char是固定长度的,char(8) 存储了’abc’会在’abc’之前加5个空格 Varchar 是可变长的varchar(20) 存储了’abc’,长度就是3 3. 如何分离附加数据库 4. 对数据库的增删改查(操作的是表中的数据) T_sql:sql+sql server对标准的加强 Sql当中不区分大小写。 增(insert):insert into表名values(字段1的值,字段2的值……) insert into表名(字段1,字段2)values(字段1的值,字段2的值……)—插入部分数据,其他的字段可以不插入,是因为允许为空

SQL基础知识考核试题_V2.0

SQL基础知识考核试题 考试时间:30分钟姓名:___________ 成绩:___________ 一、单选题(共8题,每题5分) 1.使用SQL命令将教师表teacher中工资salary字段的值增加200,应该使用的命令是(D )。 A)Replace salary with salary+200 B) Update teacher salary with salary+200 C) Update set salary with salary+200 D) Update teacher set salary=salary+200 2.使用sql语句进行分组检索时,为了去掉不满足条件的分组,应当(B )。 A)使用WHERE子句 B)在GROUP BY后面使用HA VING 子句 C)先使用WHERE子句,再使用HA VING 子句 D)先使用HAVING 子句,再使用WHERE子句 3.从货物定单数据表(order)中查询出其中定单金额(order_price)在1000和5000之间的定单 的详细信息,并按照定单金额(order_price)降序排列。正确的语句是(B )。 A) a) Select * from order where [order_price] between 1000 and 5000 order by [order_price] ASC B) b) Select * from order where [order_price] between 1000 and 5000 order by [order_price] DESC C) c) Select * from order where 1000<[order_price]<5000 order by [order_price] ASC D) d) Select * from order where 1000<[order_price]<5000 order by [order_price] DESC 4.表的两种相关约束是? (C) A)主键和索引 B)外键和索引 C)主键和外键 D)内键和外键 5.在oracle中下列哪个表名是不允许的(D)。 A)abc$ B)abc C)abc_ D)_abc 6.表A中有以下字段和数据 ColumnA ColumnB ------------------ a a a 请问,执行select count(*) from a where columnB=columnB会得到哪个结果(A )。 A)0 B) 1 C) 3 D) 4 7.SELECT ename, job, sal FROM emp WHERE job='SALESMAN' OR job='PRESIDENT'

数据库基本知识和基础sql语句

数据库的发展历程 ●没有数据库,使用磁盘文件存储数据; ●层次结构模型数据库; ●网状结构模型数据库; ●关系结构模型数据库:使用二维表格来存储数据; ●关系-对象模型数据库; 理解数据库 ●RDBMS = 管理员(manager)+仓库(database) ●database = N个table ●table: ●表结构:定义表的列名和列类型! ●表记录:一行一行的记录! Mysql安装目录: ●bin目录中都是可执行文件; ●my.ini文件是MySQL的配置文件; 相关命令: ●启动:net start mysql; ●关闭:net stop mysql; ●mysql -u root -p 123 -h localhost; -u:后面的root是用户名,这里使用的是超级管理员root; -p:后面的123是密码,这是在安装MySQL时就已经指定的密码; ●退出:quit或exit; sql语句 语法要求 ●SQL语句可以单行或多行书写,以分号结尾; ●可以用空格和缩进来来增强语句的可读性; ●关键字不区别大小写,建议使用大写; 分类 ●DDL(Data Definition Language):数据定义语言,用来定义数据库对象:库、表、 列等; ●DML(Data Manipulation Language):数据操作语言,用来定义数据库记录(数据);基本操作 ●查看所有数据库名称:SHOW DATABASES; ●切换数据库:USE mydb1,切换到mydb1数据库; ●创建数据库:CREATE DATABASE [IF NOT EXISTS] mydb1; ●修改数据库编码:ALTER DATABASE mydb1 CHARACTER SET utf8 ●创建表: CREATE TABLE 表名(

sql基础知识

去重复 SELECT DISTINCT Company FROM Orders 截取字段前3个字 substr(t.Code,1,3)AS CLASSNAME SQL 使用单引号来环绕文本值(大部分数据库系统也接受双引号)。如果是数值,请不要使用引号。 插入记录 INSERT INTO Persons V ALUES ('Gates', 'Bill', 'Xuanwumen 10', 'Beijing') 指定位置 INSERT INTO Persons (LastName, Address) V ALUES ('Wilson', 'Champs-Elysees') update(select t.*, t.rowid from OA_KC_TEMP t where t.state =3) t1 set t1.state =1 Update 我们为lastname 是"Wilson" 的人添加firstname: UPDATE Person SET FirstName = 'Fred' WHERE LastName = 'Wilson' 我们会修改地址(address),并添加城市名称(city): UPDATE Person SET Address = 'Zhongshan 23', City = 'Nanjing' WHERE LastName = 'Wilson' "Fred Wilson" 会被删除: DELETE FROM Person WHERE LastName = 'Wilson' 显示前5行记录 SELECT * FROM Persons LIMIT 5

相关主题
相关文档 最新文档