`
johnnycmj
  • 浏览: 36780 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

13、数据库(SQL)

 
阅读更多

13、数据库(SQL)

13.1、什么是SQL

SQL(Structured Query Language,结构查询语言)是一个功能强大的数据库操纵语言。

SQL使用场合:

应用程序与数据库的通讯

通过DBMS或第三方工具,完成一些数据库的操作任务,比如在数据库中更新数据,或者从数据库中检索数据

13.2、SQL命令分组

DML(Data Manipulation Language,数据操作语言):用于检索或者修改数据 

DDL(Data Definition Language,数据定义语言): 用于定义数据的结构,比如 创建、修改或者删除数据库对象 

DCL(Data Control Language,数据控制语言):用于定义数据库用户的权限 

13.3、DML命令

SELECT:用于检索数据 

INSERT:用于增加数据到数据库 

UPDATE:用于从数据库中修改现存的数据 

DELETE:用于从数据库中删除数据 

13.4、DDL命令

CREATE TABLE :创建表结构 

ALTER TABLE :修改表结构 

DROP TABLE :从数据库中删除表 

CREATE INDEX :创建索引

DROP INDEX :删除索引 

13.5、DCL命令

ALTER PASSWORD :设置访问口令 

GRANT  :分配权限 

REVOKE  :收回权限 

CREATE SYNONYM :创建替代用户

13.6、SQL命令

(1)建表:

格式

例子:

create table test(

  test_id   int not null AUTO_INCREMENT,

  name varchar(100),

  primary key (test_id)

);

(2)insert into语句

向表中增加新的数据。 

    INSERT INTO <表名> (<字段列表>) values (<值列表>)

例:增加新的成绩

Insert into Curse (sno,cname,score) values (‘870102’,’数据结构’,75)

(3)Select命令

功能:从数据库中检索所需要信息。

例:从学生表(student)中检索出李明的档案信息,其SQL语法为:

Select * from student where SNAME=‘李明’

(4)Select 命令语法

SELECT  [predicate]{*|table.*| [table.]field [,[table.]field2 [,...]]} 

    [AS alias1 [,alias2[,...]]]  FROM tableexpression [,...]  [IN externaldatabase][WHERE...]

[GROUP BY...][HAVING...][ORDER BY...][WITH OWNERACCESS OPTION]

predicate什么意思?

DISTINCT,TOP n

DISTINCT:

      Select DISTINCT SNAME from student

TOP n:

     Select top 2 * from student

 

(5)From子句

指定从哪些表中获取数据,可以同时给表取一个别名。

Select top 2 Student.SNO, Student.SNAME, Curse.CNAME, Curse.SCORE from Student,Curse 

where Student.SNO= Curse.SNO

(6)where子句

指定从表中获取哪些记录。

Select * from student where SSEX=‘女’

(7)order by子句

指定结果如何排序:升序:ASC;降序:DESC。

Select * from student order by SNAME

(8)group by子句

对查询结果进行分组合并。

例:查询学生的平均成绩按平均成绩排序

Select  a.SNO, a.SNAME, AVG(b.SCORE) as AVG_SCORE from Student a,Curse b  where a.SNO= b.SNO Group by a.SNO,a.SNAME Order By AVG(b.SCORE)

 

(9)having子句

与group by子句配套使用,与where类似,但主要是针对分组字段的条件。

例:查询平均成绩在85分以上的学生,并显示平均成绩

Select  a.SNO, a.SNAME, AVG(b.SCORE) as AVG_SCORE from Student a,Curse b  where a.SNO= b.SNO Group by 

(10)SQL的特殊操作 

IN 操作符 :

用在where后,当同时查询多个条件时,用以简化写法

Select * from student where SNAME in (‘李明’,‘成功’)

等价SQL语句:

Select * from student where SNAME =‘李明’ or SNAME =‘成功’

 

LIKE 操作符  :

实现模糊查询。

例:找出所有姓李的学生

Select * from student where SNAME like ‘李*’

或:

Select * from student where SNAME like ‘李%’

 

SQL 的运算符及表达式 :

算术运算符( ) 分组括号   *、/ 乘、除    +、- 加、减算术运算符的优先次序为括号、乘方、乘除和加减,同级运算从左到右依次进行 

逻辑运算符AND 逻辑与    OR 逻辑或    NOT 逻辑非逻辑运算符的优先次序为:NOT→AND→OR 表达式的运算顺序是先关系表达式后逻辑表达式 

 

SQL 的统计函数:

AVG(字段名或表达式):算数平均数

Select avg(sold) as avg_old from student

COUNT (字段名或表达式) :计算记录条数 

Select COUNT(*) as NSRS from student where SSEX=‘女’

SUM (字段名或表达式) :返回某特定字段或是运算的总和数值。

Select sum(score) as t_score from Curse where  sno=‘870101’

MAX (字段名或表达式)、 MIN (字段名或表达式):求最大、最小值

 

Between … and 运算符

决定某一数值是否介于特定的范围之内

例:查询年龄在18-20岁之间的学生

Select * from student where sold BETWEEN 25 AND 30

等价于:

Select * from student where sold>=25 AND sold<=30

Union 操作

INNER JOIN操作 

13.7、数据更新语句

Update:更新表中已有的数据。

更新指定条件的数据。 

UPDATE table SET newvalue WHERE criteria 

例:更新学生成绩

Update Curse set score=65 where sno= ‘870102’ and cname= ‘微机原理与应用’

 

 

delete from语句:

删除指定数据。 

delete from <表名> where <条件>

例:从名单中删除‘王五’

Delete from student where sname= '王五'

13.8、SQL语句书写要求

所有关键字可不管大小写,但必须为半角

关键字之间的空格个数不限,但必须大于1

字符型数据、日期型数据必须用半角的单引号(或双引号)引起来

在有些系统中字段名称和表名是区分大小写的,应注意。

关键字的顺序一般不允许交换

所支持的增强函数、关键字等需参考所使用的DBMS,不同的系统会有所不同。

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    Mysql数据库SQL实战

    数据库SQL实战数据库SQL实战数据库SQL实战数据库SQL实战数据库SQL实战数据库SQL实战数据库SQL实战数据库SQL实战数据库SQL实战数据库SQL实战数据库SQL实战数据库SQL实战数据库SQL实战数据库SQL实战数据库SQL实战...

    数据库开发 Oracle数据库 SQL开发教程 全套PPT课件 共20个章节.rar

    数据库开发 Oracle数据库 SQL开发教程 第13章 创建和维护表(共37页).pdf 数据库开发 Oracle数据库 SQL开发教程 第14章 约束(共33页).pdf 数据库开发 Oracle数据库 SQL开发教程 第15章 视图(共23页).pdf 数据库...

    ERP项目数据库SQL文件

    ERP项目数据库SQL文件,ERP项目数据库SQL文件,ERP项目数据库SQL文件ERP项目数据库SQL文件ERP项目数据库SQL文件ERP项目数据库SQL文件,ERP项目数据库SQL文件,ERP项目数据库SQL文件ERP项目数据库SQL文件

    人大金仓数据库SQL手册

    ### 人大金仓数据库SQL手册知识点详述 #### 一、概述 人大金仓数据库SQL手册是一份详尽的文档,旨在帮助用户更好地理解和使用人大金仓数据库管理系统(KingbaseES)中的SQL语言。该手册涵盖了SQL语言的基础知识、...

    完整的员工数据库SQL文件

    完整的员工数据库SQL文件,方便学习、练习MySQL。欢迎大家下载交流

    小区物业管理系统数据库SQL语句

    小区物业管理系统配套数据库SQL语句,在Oracle中导入该SQL语句,数据库建立成功

    SAP-HANA数据库SQL中文完全参考手册

    SAP-HANA数据库SQL中文完全参考手册,本文档完全翻译为中文,适合看不懂原版官方英文文档的人,内容做了精美的排版,里面包括各种函数,语法,限制信息等。内容非常完备,掌握这本手册,相信一定能掌握HANA

    全国的大学名录数据库sql

    全国的大学名录数据库sql文件,有近20万条数据,非常适合做需要填写会员学校名称的网站

    可动态更新的全球IP数据库SQL

    可动态更新的全球IP数据库SQL可动态更新的全球IP数据库SQL可动态更新的全球IP数据库SQL可动态更新的全球IP数据库SQL可动态更新的全球IP数据库SQL可动态更新的全球IP数据库SQL可动态更新的全球IP数据库SQL可动态更新...

    vs自带数据库sql server的中文插入乱码问题、查找当前数据库名

    解决两个问题:vs自带数据库sql server的中文插入乱码问题、查找当前数据库名 (查找数据库名在文章中间,自己往下翻吧,不单拎出来了) vs自带数据库sql server的中文插入乱码问题: 如图所示,我插入表的中文变成...

    枣糕商城的数据库SQL文件

    枣糕商城的数据库SQL文件

    SAP-HANA数据库SQL参考手册.pdf(中文版)

    SAP HANA数据库SQL参考手册详细介绍了这些规则和约定,为数据库管理员和开发人员提供了一个全面的指南,帮助他们在SAP HANA平台上有效地执行SQL操作。该手册不仅涵盖了基础知识,如数据类型、操作符和函数,还包括...

    nacos2.0.2版本依赖数据库sql脚本

    nacos2.0.2版本依赖数据库sql脚本

    最新国家地区数据库sql

    最新国家地区数据库sql

    《5种数据库sql语句大全》

    5种数据库sql语句大全,轻松写sql跨库

    中华字典数据库sql

    字段是,字,声母,韵母,拼音,读音,部首,简介,详解,组词,造句等,收录了很多繁体字,一般字典没有的数据。

    网络数据库SQL Server2000

    网络数据库SQL Server2000

    英文单词数据库sql文件14.7万.zip

    14.7万英文单词SQL数据库,含近义词,反义词,简短英文解释,派生词等指针表. 解压缩后运行restore-mysql.bat自动导入到数据库.如果报错,请手动按顺序导入5个sql文件: schema.sql data.sql unconstrain.sql ...

    oracle数据库sql练习题(含答案)

    oracle数据库sql练习题(含答案)用于练习增删改查操作。

    WinCC数据库SQL访问

    ### WinCC数据库SQL访问:深度解析与操作指南 在工业自动化领域,西门子的WinCC(Windows Control Center)作为一款强大的人机交互界面(HMI)和监控控制(SCADA)软件,其数据库访问能力对于数据管理和分析至关...

Global site tag (gtag.js) - Google Analytics