您的位置:首页 > 数据库

SQL语句基础篇

2015-08-31 12:41 441 查看

SQL语句基础篇

前面的文章 MySQL的安装过程MySQL的管理分别介绍了MySQL数据库管理系统的安装及基本的管理操作。本文将继续介绍如何使用SQL语句,来存储数据到数据库,以及对数据进行增、删、改、查等基本操作。

数据库,实际上就是存放数据的仓库,是长期存储在计算机中的,有一定结构的,可共享的大量数据的集合。

SQL语言有一些基本概念,了解这些基本概念,有助于理解SQL语句。主要包括基本表和视图。

基本表(table):独立存在的表,在SQL中,一个关系就对应一个基本表。比如,

Student(id,name,age,address,birthday,telephone,major)

视图(view):是从一个或几个基本表中导出的表。注意它本身不存储在数据库中,是一个虚表。

【外模式对应于视图view 和部分基本表(table),模式对应于基本表,内模式对应于存储文件。】

1 创建数据库

我们安装的MySQL是一个关系型的数据库管理系统,它与SQL SERVER一样,都是DBMS。我们可以使用它来管理我们创建的数据库实例,

CREATE DATABASE databaseName;

这时就创建成功了一个名叫dataBaseName的数据库。通过

SHOW DATABASE命令可以查看系统中维护的数据库,可以发现多了一个名叫dataBaseName的数据库。

同时使用 USE databaseName 可以切换到该数据工作空间下,就可以操作该数据库了。感觉这和VFP(已经不常用了)有点像。

2 删除数据库

上面创建了一个数据库,那么我们如何删除创建的一个数据库呢?可以使用下面这个命令:

DROP DATABASE databaseName ;



3 选择数据库

该语句实际上,在 1 中已经介绍了。使用

USE databaseName ;

就可以选择要操作的数据库工作空间

4 MySQL中的数据类型

上面介绍了如何创建和选中数据库的过程。接下来在介绍针对数据库中表的定义和操作之前先介绍一下MySQL中的数据类型。

AUTO_INCREMENT

BIGINT

BINARY

BIT

BLOB

BLOB DATA TYPE

BOOLEAN

CHAR

CHAR BYTE

DATE

DATETIME

DEC

DECIMAL

DOUBLE

DOUBLE PRECISION

ENUM

FLOAT

INT

INTEGER

LONGBLOB

LONGTEXT

MEDIUMBLOB

MEDIUMINT

MEDIUMTEXT

SET DATA TYPE

SMALLINT

TEXT

TIME

TIMESTAMP

TINYBLOB

TINYINT

TINYTEXT

VARBINARY

VARCHAR

YEAR DATA TYPE

以上的基本类型在我们定义表时,要使用到。

5 创建表

从现实中抽象出的一个关系(或者说模式),在数据库中就表现为一张表。该表一定是一张二维表,否者就值得优化了。从现实中抽象出,一个关系最好的工具就是E-R图了。优化就涉及到范式等知识了(这些知识将在以后有空介绍)。

上面指出了如何从现实中抽象出一个关系的基本方向,当然那不是本文的主题,如何创建及操作才是本文的主题。下面的语句可以创建一个表:

CREATE TABLE TABLE_NAME(COLUMN_NAME COLUMN_TYPE);

当然该语句只创建了一个最简单的表。还可以为表添加约束,这是另一个主题,不在本文中介绍。

例子:



6 删除表

DROP TABLE tableName;

使用该语句时一定要慎重。一旦删除,原来表中存储的数据也将被删除。

7 插入语句

INSERT INTO tableName(FIELD1 ,FIELD2 ,FIELD3,FIELD4…FIELDN)

values(VALUE1,VALUE2,VALUE3,VALUE4…VALUEN);

注意,使用该语句可以向特定的表中添加1条记录。当我们的数据完全与表的结构相匹配时,实际我们可以不写表名后的内容的,而直接只指定表名即可。

还要注意的是,日期类型要加‘’。如’1983-12-12’

例如:

INSERT INTO student(id,name) values(0001,’zhangsan’);

8 选择查询

我觉得这是使用最频繁的语句。当然这儿只介绍其基本的语句。当要进行复杂的查询时,可能要用到表的连接,以及语句嵌套的知识。

SELECT FIELD1,FIELD2,FIELD… FROM TABLE_NAME [WHERE] [GROUP BY] [HAVING] [ORDER];

如何使用呢?看下面这个例子。

SELECT id, name FROM student ;

就可以选择学号和姓名这两个字段的值。

当要查询表中的所有字段时,可以使用“*”。如下:



其实还有一个例子,就是在前面MySQL管理的博文中,查询用户时,就使用了上面的两种查询方式。

9 WHERE 子句

在上面查询中,可以看到还有很多可选的参数。那么它们都是什么还以呢?

WHERE 指定查询的条件 比如WHERE id = 5

GROUP BY 对查询结果按字段名分组 比如:GROUP BY name

HAVING 对分组进行筛选

ORDER 对查询结果 排序 比如:ORDER BY [ASC]升序 [DESC]降序

下面举一个WHERE子句的例子:



10 更新查询

UPDATE TABLE_NAME SET FIELD1 = NEW_VALUE1 ,FIELD2 = NEW_VALUE2 [WHERE CLAUSE];

通过指定表名,以及域名[子段名]来进行值的修改。

使用该语句时也要注意,请认真思考究竟要修改哪些数据,做好WHERE子句的限定,否则会影响该字段的所有记录值。

例如:



11 删除记录

DELETE FROM TABLE_NAME [WHERE CLAUSE];

使用该语句可以删除表中的记录,或指定记录。

例如:



以上介绍了,SQL的11种基本操作。更高级的应用会在后续文章中进行分享。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息