SQL 语法
1. 数据库 和 表
一个数据库通常包含一个或多个表。每个表都有一个名字标识,表里包含带有数据的记录。
在本教程中,我们在 mysql 的 yapf 数据库中创建了一个 website 表,用于存储网站记录。
查看 "website" 表的数据:
mysql> use yapf; database changed mysql> set names utf8; query ok, 0 rows affected (0.00 sec) mysql> select * from website; +----+--------------+---------------------------+-------+---------+ | id | name | url | alexa | country | +----+--------------+---------------------------+-------+---------+ | 1 | google | https://www.google.cm/ | 1 | usa | | 2 | 淘宝 | https://www.taobao.com/ | 13 | cn | | 3 | 硕编程 | http://www.yapf.com/ | 200 | cn | | 4 | 微博 | http://weibo.com/ | 20 | cn | | 5 | facebook | https://www.facebook.com/ | 3 | usa | +----+--------------+---------------------------+-------+---------+ 5 rows in set (0.01 sec)
范例 sql 语句解析:
- use yapf; 命令用于选择数据库。
- set names utf8; 命令用于设置使用的字符集。
- select * from website; 读取数据表的信息。
- 上面的表包含五条记录(每一条对应一个网站信息)和5个列(id、name、url、alexa 和country)。
2. sql 语句规范
我们在数据库上执行的大部分工作都由 sql 语句完成。
下面的 sql 语句从 "website" 表中选取所有记录:
select * from website;
1)sql 语句大小写规则
- sql 语句的关键字对大小写不敏感:select 与 select 是相同的。
- linux/unix 下数据库名与表名是严格区分大小写的,windows 不区分。
- linux/unix 下的别名是严格区分大小写的,windows 不区分。
- 列名与列的别名对大小写不敏感。
- 字段内容对大小写不敏感。
2)sql 语句末端分号
分号是在数据库系统中分隔每条 sql 语句的标准方法,这样就可以在对服务器的相同请求中执行一条以上的 sql 语句。
在本教程中,我们默认在每条 sql 语句的末端使用分号。
3. 常用 sql 语句
- select - 从数据库中查询获取数据
- update - 更新数据库中的数据
- delete - 删除数据库中的数据
- insert - 向数据库中添加新数据
- create database - 创建新数据库
- create table - 创建新表
- alter table - 变更表的属性
- drop table - 删除表
- create index - 创建索引
- drop index - 删除索引