热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

步入“数据库”的礼堂SQL数据库基本功:语句教程

本文对SQL的语法进行了综合性的讲述,无论您是一位SQL的新手或是一位老将,您将都会对SQL有一个大致上的了解,另外,您将能够正确的运用SQL来由数据库中获取信息。虽然要对SQL又很透彻的了解并不是一朝一夕可以完成的,可是对SQL有个基本的了解并不难。一、

本文对SQL的语法进行了综合性的讲述,无论您是一位SQL的新手或是一位老将,您将都会对SQL有一个大致上的了解,另外,您将能够正确的运用SQL来由数据库中获取信息。虽然要对SQL又很透彻的了解并不是一朝一夕可以完成的,可是对SQL有个基本的了解并不难。 一、



本文对SQL的语法进行了综合性的讲述,无论您是一位SQL的新手或是一位老将,您将都会对SQL有一个大致上的了解,另外,您将能够正确的运用SQL来由数据库中获取信息。虽然要对SQL又很透彻的了解并不是一朝一夕可以完成的,可是对SQL有个基本的了解并不难。


一、表格处理:

表格式数据库中存储资料的基本架构,分为栏位column和列row


CONSTRAINT:限制存入
NOT NULL:不允许空值
UNIQUE:限制每一个栏位中的资料都是不一样的
CHECK:限制保证每一个栏位中的所有资料都符合某些条件。
主键(PrimaryKey):必须确保用来作主键的栏位是设定[NOT NULL]
外来键(ForeignKey):一个或数个指向另外一个表格主键的栏位,目的是确定资料的参考完整性,即只有被允许的资料值才会被存入数据库

组合键:CompositeKey


CREATE TABLE:对表格下定义时,需要对每一栏位的资料种类下定义
CREATE  TABLE  ”表格名”(”栏位1”“栏位1  资料种类” ,”栏位2 ““栏位2 资料种类”……)
CREATE  TABLE  “表格名” (“栏位1” “栏位1  资料种类”) REFERENCE  CUSTOMER(栏位1)
ALTER   TABLE “表格名1 ‘ ADD FOREIGN KEY (表格名1的栏位名) REFERENCE CUSTOMER(表格2的栏位名)

CREATE  TABLE 表格名 (“栏位1 ““栏位1 资料种类” Primary Key)
ALTER   TABLE 表格名 ADD PRIMARY KEY(“栏位1”)


CREATE VIEW:视图可用于连接两个表格,便于找出所需信息,视图是虚拟表格,是建立在表格之上的一种架构,本身并不实际存储资料。
CREATE VIEW “视图名” as “SQL语句”

CREATE INDEX:快速查找所需资料,利于系统效率.索引命名可在名称前加一个首字母,或者表格名及栏位名

CREATE  INDEX  “索引名”  ON  “表格名” (COLUMN NAME)

ALTER TABLE:

a)增加一个栏位:

                    ADD “栏位1 ““栏位1 资料种类”

b)删去一个栏位:

                    DROP “栏位1”
c)改变栏位名称:

                    CHANGE “原本栏位名”“新栏位名”“新栏位资料种类”
d)改变栏位资料种类:

                    MODIFY“栏位1”“新资料种类”
DROP TABLE:从数据库清除一个表格

DROP TABLE “表格名”
TRUNCATE TABLE:从数据库清除一个表格中的所有资料,但是表格本身继续存在
TRUNCATE  TABLE”表格名”

INSERT INTO:一次性输入多笔资料,SELECT指令将表格2 中的资料输入到表格1

INSERT  INTO  “表格名”(”栏位1”,”栏位2”,……) VALUES (”值1”,”值2”,……)
INSERT  INTO  “表格1”(”栏位1”,”栏位2”,……) SELECT “栏位3”,”栏位4”,……FROM “表格2”
UPDATE:修改表中的资料:
UPDATE “表格名” SET “栏位1”=[新值]  WHERE {条件}
DELETE FROM:由数据库中去除一些资料
DELETE FROM”表格名” WHERE {条件}

二、Sql指令:
SQL如何被用来存储,读取,以及处理数据之中的资料。


1,SELECT:
SELECT  “栏目名”  FROM  “表格名”
2,DISTINCT排除相同点的值
SELECT  DISTINCT  “栏位名”  FROM”表格名”
3,WHERE:有条件的选取资料
SELECT  “栏位名”  FROM  ”表格名”  WHERE “条件”
4,AND /OR复杂条件的连接
SELECT “栏位名” FROM  ”表格名”  WHERE  “简单条件”  {[AND /OR]  “简单条件”}+
5,IN:限定范围内选取资料
SELECT  “栏位名”  FROM  ”表格名”   WHERE  “栏位名” IN (’值一’,’值二’,……)
                                        WHERE  “栏位名” =‘值一’
6,BETWEEN:限定范围内选取资料
SELECT  “栏位名”  FROM  ”表格名”   WHERE  “栏位名” BETWEEN ‘值一’  AND  ‘值2’
7,LIKE:模式匹配
SELECT  “栏位名”   FROM  ”表格名”  WHERE  “栏位名” like  {模式}
a)A_Z:表示所有以A开头,另一个人一致的字源,且以Z结尾的字符。
b)ABC%:表示所有以ABC为开头的字符串
c)%AN%:表示所有含有AN这个模式的字符串

8,ORDER BY:对抓出的资料有系统显示,升序或降序
SELECT “栏目名” form “表格名” WHERE “条件”ORDER BY “栏目名” [ASC/DESC]     ORDER BY “栏位1”[ASC/DESC],”栏位2”[ASC/DESC]
9,函数:
数字运算:AVG(平均),COUNT(计数),MAX(最大值),MIN(最小值),SUM(总合)
数学运算:加+,减-
文字类:文字相连CONCATENATION,文字修饰TRIM,字符串substring
10,GROUP BY:至少有一个栏位包含函数运算时,需用此指令
SELECT “栏位1”,SUM(“栏位2”)  FROM  ”表格名”  GROUP BY  “栏位1” 
11,HAVING:对函数产生的值产生设定条件
SELECT  “栏位1”,SUM(“栏位2”)  FROM  ”表格名”  GROUP BY “栏位1”  HAVING (函数条件)
12,ALIAS:别名,表格别名或栏目别名,一般别名放在要替代的物件背后,中间一个空格分开。
SELECT  “表格别名”.”栏位1”  “栏位别名”  FROM  ”表格名”  “表格别名”
13,表格链接:
a)外部链接OUTER JION:两表不一定有联系。在WHERE子句要选出所有资料的那个表之后加上一个+,来代表表格内的资料我们都要的。
b)内部链接INNER JION:即左连接LEFT JION 当两表中都有相同值时,才会被选出。

14,
CONCATENATE:将不同栏位获得的资料串联在一起。+
SUBSTRING:用来抓出一个栏位资料中的其中一部分。
15,TRIM:除掉一个字符串的字头或字尾,常见于移除字首或字尾的空白
TRIM([[位置][要移除的字符串]FROM] 字符串)
[位置]可能值:leading起头,traling结尾,both起头及结尾
a)LTrim(字符串):将字符串起头的空白移除
b)RTrim(字符串):将字符串结尾的空白移除






推荐阅读
  • 本文详细介绍了如何使用libpq库与PostgreSQL后端建立连接。通过探讨PQconnectdb()函数的工作原理及其在实际应用中的使用方法,帮助读者理解并掌握建立高效、稳定的数据库连接的关键步骤。 ... [详细]
  • Windows服务与数据库交互问题解析
    本文探讨了在Windows 10(64位)环境下开发的Windows服务,旨在定期向本地MS SQL Server (v.11)插入记录。尽管服务已成功安装并运行,但记录并未正确插入。我们将详细分析可能的原因及解决方案。 ... [详细]
  • 数据库内核开发入门 | 搭建研发环境的初步指南
    本课程将带你从零开始,逐步掌握数据库内核开发的基础知识和实践技能,重点介绍如何搭建OceanBase的开发环境。 ... [详细]
  • 本文深入探讨 MyBatis 中动态 SQL 的使用方法,包括 if/where、trim 自定义字符串截取规则、choose 分支选择、封装查询和修改条件的 where/set 标签、批量处理的 foreach 标签以及内置参数和 bind 的用法。 ... [详细]
  • 使用C#开发SQL Server存储过程的指南
    本文介绍如何利用C#在SQL Server中创建存储过程,涵盖背景、步骤和应用场景,旨在帮助开发者更好地理解和应用这一技术。 ... [详细]
  • 本文探讨了适用于Spring Boot应用程序的Web版SQL管理工具,这些工具不仅支持H2数据库,还能够处理MySQL和Oracle等主流数据库的表结构修改。 ... [详细]
  • 本文详细介绍了如何通过多种编程语言(如PHP、JSP)实现网站与MySQL数据库的连接,包括创建数据库、表的基本操作,以及数据的读取和写入方法。 ... [详细]
  • 在当前众多持久层框架中,MyBatis(前身为iBatis)凭借其轻量级、易用性和对SQL的直接支持,成为许多开发者的首选。本文将详细探讨MyBatis的核心概念、设计理念及其优势。 ... [详细]
  • 在使用 DataGridView 时,如果在当前单元格中输入内容但光标未移开,点击保存按钮后,输入的内容可能无法保存。只有当光标离开单元格后,才能成功保存数据。本文将探讨如何通过调用 DataGridView 的内置方法解决此问题。 ... [详细]
  • 本文详细介绍了如何在 Linux 平台上安装和配置 PostgreSQL 数据库。通过访问官方资源并遵循特定的操作步骤,用户可以在不同发行版(如 Ubuntu 和 Red Hat)上顺利完成 PostgreSQL 的安装。 ... [详细]
  • 如何在PostgreSQL中查看数据表
    本文将指导您使用pgAdmin工具连接到PostgreSQL数据库,并展示如何浏览和查找其中的数据表。通过简单的步骤,您可以轻松访问所需的表结构和数据。 ... [详细]
  • 利用存储过程构建年度日历表的详细指南
    本文将介绍如何使用SQL存储过程创建一个完整的年度日历表。通过实例演示,帮助读者掌握存储过程的应用技巧,并提供详细的代码解析和执行步骤。 ... [详细]
  • 本文介绍了如何通过 Maven 依赖引入 SQLiteJDBC 和 HikariCP 包,从而在 Java 应用中高效地连接和操作 SQLite 数据库。文章提供了详细的代码示例,并解释了每个步骤的实现细节。 ... [详细]
  • 在使用SQL Server进行动态SQL查询时,如果遇到LIKE语句无法正确返回预期结果的情况,通常是因为参数传递方式不当。本文将详细探讨这一问题,并提供解决方案及相关的技术背景。 ... [详细]
  • 本文介绍如何通过创建替代插入触发器,使对视图的插入操作能够正确更新相关的基本表。涉及的表包括:飞机(Aircraft)、员工(Employee)和认证(Certification)。 ... [详细]
author-avatar
李太有才_905
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有