sql语言介绍(2年前的文章)
SQL(Structured Query Language)结构化查询语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。同时也是数据库脚本文件的扩展名。提到sql我们首先要了解数据库,提到数据库我们又得了解数据!!
所谓数据,简单理解就是我们计算机里存放的信息,都叫数据。这么庞大的数据,几个G,或者几个T,我们如何管理呢?假如我们现在要从几个G的文档中找一个单词“SQL”,怎么找更方便呢?ctrl + f ? 这样确实可以做到,如果我要替换,排列,计算,相加呢???这个时候我们就需要数据库来帮忙了,但是只有数据库是不够的,数据库只是相当于一个仓库,他规范了数据存储的格式,就像超市里规定不同的货物摆放在不同的货架上。要对货物进行处理,还得工作人员来做,而SQL正好扮演了工作人员的角色!程序员就像超市老板,合理的利用SQL语句去管理货物。
SQL语言你必须知道的内容:
- SQL是一种语言,有统一的标准。虽然有标准但是有些人就是不遵守,比如微软。还有一些公司有自己增加的语法,所以SQL不等于SQL Server或者Oracle或者MySQL;
- MySQL是开源的,像SQL Server、Oracle都是收费的,而且收费颇高,吓死人。
- Oracle的数据库是相当牛的,特别是在处理庞大数据的时候,凸显优势,他是专业做数据库的公司(甲骨文)。
- SQL语言跟C语言,C++语言有共同点,都是在dos下编译执行的,所以不要被IDE所蒙蔽,IDE只是方便管理。
- 数据库行业是个相当高薪的行业,除了做游戏开发就属做数据库的工资最高了。如果你对其他编程语言实在不感兴趣,可以选择学习数据库。
- SQL语句对大小写不敏感。例如SELECT 等效于 select、Select,但是建议统一,这是好的习惯。
简单的搭建一个数据库平台,在这里以PHP+MySQL为例子(因为体积小,而且方便学习):
- 下载PHPNOW(php集成开发环境)您可以 跳转到官网 ;
- 根据提示安装,会安装apache +php+ MySQL平台;
- 安装好之后,打开 http://127.0.0.1/phpMyAdmin/ ;
- 输入帐号和密码后就能建表,或者直接使用SQL来测试了;
SQL的用法:
SQL语言包含3个部分
- 数据定义语言Data Definition Language(DDL),用来建立数据库、数据对象和定义其列。
比如:CREATE(创建)
创建一个数据库: CREATE DATABASE database_name(表明);
创建一张表:1
2
3
4
5
6
7
8
9
10
11
12CREATE TABLE 表名称
(
列名称1 数据类型,
列名称2 数据类型,
列名称3 数据类型,
....
);
比如: DROP(删除)
删除表:DROP TABLE 表名称;
删除数据库:DROP DATABASE 数据库名称;
比如:ALTER(修改)
ALTER TABLE 语句用于在已有的表中添加、修改或删除列。
如需在表中添加列,请使用下列语法:
ALTER TABLE 表名
ADD 列名 列类型
要删除表中的列,请使用下列语法:
ALTER TABLE 表名
DROP COLUMN 列名
- 数据操作语言Data Manipulation Language(DML),用来插入、修改、删除、查询,可以修改数据库中的数据。
注意与DDL进行区分,不要用错,有次腾讯出的一道考题就是删除一张表是用delete 还是drop;
比如:INSERT(插入)
INSERT INTO 语句用于向表格中插入新的行。语法:
INSERT INTO table_name (列1, 列2,…) VALUES (值1, 值2,….);
比如:UPDATE(修改)
Update 语句用于修改表中的数据。语法:
UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值;
比如:DELETE(删除)
DELETE 语句用于删除表中的行。语法:
DELETE FROM 表名称 WHERE 列名称 = 值;
比如:SELECT(查询)
SELECT 语句用于从表中选取数据,结果被存储在一个结果表中(称为结果集)。
SQL SELECT 语法:
SELECT 列名称 FROM 表名称;
以及:SELECT * FROM 表名称;
- 数据控制语言Data Controlling Language(DCL),用来控制数据库组件的存取许可、存取权限等。例如:GRANT、REVOKE、COMMIT、ROLLBACK等语句。使用此类语句时已经对SQL语言有一定的使用经验了,在这里不引用过多实例。
注意:一定要区分这3类控制语言DDL、DML、DCL。要有备份数据库的习惯。必须意识到数据是无价的。学习数据库的方法与建议: