SQL语法基础
SQL(Structured Query Language,结构查询语句)是一个功能强大的数据库语言。SQL通常用于与数据库的通讯。ANSI(美国国家标准学会)声称,SQL是关系数据库管理系统的标准语言。
SQL分类
SQL功能强大,概括起来,它可以分成以下几组:
1):DML(Data Manipulation Language,数据操作语言)—用于检索或者修改数据;
2):DDL(Data Definition Language,数据定义语言)—用于定义数据的结构,如创建、修改或者删除数据库对象;
3):DCL(Data Coontrol Language,数据控制语言)—用于定义数据库用户的权限。
创建操作表
在MySQL数据库中良好的支持了标准的SQL语法支持,本章中主要使用的是DDL,下面分别对数据库的增加、修改、删除、查询语句进行介绍。为了操作方便,本部分使用以下的表完成全部操作。
创建表的语句为:
CREATE TABLE user(
id INT AUTO_INCREMENT PRIMARY KEY ,
name VARCHAR(30) NOT NULL ,
password VARCHAR(32) NOT NULL ,
age INT NOT NULL ,
sex VARCHAR(2) DEFAULT '男' ,
birthday DATE
) ;
增加数据
向表中增加数据,可以使用以下的语法:
INSERT INTO 表名称[(字段1,字段2,字段3,...,字段n)] VALUES(值1,值2,值3,...值n);
例子:向user表中插入数据:
INSERT INTO user(name,password,age,sex,birthday) VALUES(‘斜雨’,’www.baidu.com’,23,’男’,’2014-02-16);
INSERT INTO user(name,password,age,sex,birthday) VALUES(‘北风’,;www,qq.com’,20,’男’,’2014-02-18’);
查看表中的数据如下所示:
【表中id稍微改变】
删除数据
删除表中的数据,可以使用以下的语法:
DELETE FROM 表名称[删除条件];
在进行删除数据的时候,最好指定删除的条件,如果没有指定的话,则表示删除一张表中的全部数据,一般这个条件都是使用id表示。
例子:删除第二条记录
DELETE FROM user WHERE id=6;
删除之后,表中的结果如下图所示:
更新数据
当需要修改数据表中的某些记录时,就可以使用UPDATE语句,语句格式如下:
UPDATE 表名称 SET 字段1=值1,...字段n=值n[WHERE 更新条件];
与删除语句一样,修改的时候也需要指定修改条件,否则数据表的全部记录都将被修改。一般的条件都是使用id表示。
例子:
UPDATE user SET age=22 WHERE id=5;
简单查询语句
在SQL语法中,如果要查看表中的记录内容,可以通过查询语句完成,用户发出查询指令时会将全部的查询结果返回给用户。
简单查询语句格式
SELECT {*|column alias}
FROM 表名称 别名
[WHERE condition(s)]; --->设置查询条件
例子:查询全部数据
SELECT * FROM user;
对于数据库操作而言,查询时最复杂的了,查询分为以下几种:
1):简单查询;
2):限定查询:指定查询条件;
3):多表查询;
4):分组统计;
5):子查询;
6):交、并、补。
如果只需要查询特定的列,只需用特定的列名代替“*”就行。
如果现在要求查询出姓名或密码中包含字母“m”的用户。
此时就需要使用条件查询,使用模糊匹配。
SELECT * FROM user WHERE name LIKE ‘%m%’ OR password LIKE ‘%m%’;
在开发中,还有一种情况:查询部分数据,这在系统的分页程序中经常使用。
假如下载的user表中的数据如下图所示:
我们可以用以下命令只用查询部分结果:
SELECT * FROM user WHERE name LIKE ‘%m%’ OR password LIKE ‘%m%’ LIMIT 0,5;
查询语句中LIMIT后面的0,5分别代表了从下标为0的数据开始之后的5个数据。【开始下标,长度】