一、SQL语法
1,数据库表
一个数据库通常包含一个或多个表。每个表由一个名字标识,表包含带有数据的行。
2,大小写
SQL对大小写不敏感。
3, SQL语句后的分号
某些数据库要求在每条SQL命令的末尾使用分号,比如mysql。
4, SQL的DML和DDL
可以把SQL分为两个部分:DML(数据操作语言数据操作语言)和DDL(数据定义语言数据定义语言)
查询和更新数据的指令构成的了SQL DML部分:
选择——从数据库表中读取数据
更新——更新数据库表中的数据
删除——从数据库表中删除数据
插入——向数据库表中插入数据
的SQL DDL部分指创建或删除表格,更新表结构,定义索引,规定表之间的链接,施加表间的约束的命令。
创建数据库——创建新数据库
改变数据库——修改数据库
创建表——创建新表
alter table——更新表结构
删除表——删除表
创建索引——创建索引
下降指数——删除索引
二、创建一个实例
以mysql为例:
mysql>, create database 研究; mysql>, use 研究; mysql>, create table 学生(id int  auto_increment primary 关键,name varchar (255), sex char (10)); mysql>, insert into  students (名字、性别),values (“zhangsan”、“男人”)(“lisi”、“女人”)(“wangwu”、“男人”)(“zhaoliu”、“女人”); mysql>, select *,得到学生;
注意:在MySQL中值除了数字之外,都需要用“包含。
三、基础SQL语句
1,选择:用于从表中获取数据。
格式:选择列名从表名;
例子:
①从学生表中选取所有的学生姓名:
mysql>, select name 得到学生;
②从学生表中选取所有的学生姓名和性别:
mysql>, select 名字,sex 得到学生;
多个列名之间用逗号隔开。
③查看学生表中的所有数据:
mysql>, select *,得到学生;
" * "代表所有的列名。
2,截然不同:在表中,可能包含有重复的数据,但是有时希望仅仅列出不同的值。这时使用不同的返回唯一不同的值。
格式:选择不同的列与表名名;
例子:
①从学生表中列出所有的性别(……):
mysql>, select distinct sex 得到学生; + - - - - - - - + |,sex , | + - - - - - - - + |,man , | | |,woman  +-------+ man和woman各被列出一次。
3、where:用于有条件地从表中获取数据,通常和select一起使用。
格式:select 列名 from 表名 where 列名 运算符 值;
这里的运算符包含=(等于)、<>(或?,不等于)、>=(大于等于)、<=(小于等于)、>(大于)、<(小于)、between(在某个范围内)、like(以某种模式)
例子:
①从students表中列出所有性别为“man”的学生:
mysql> select name from students where sex = 'man';
这样会列出‘zhangsan’,‘wangwu’二个值。
②从students表中列出所有ID不超过3的学生:
mysql> select name from students where id <= 3;
这样会列出‘zhangsan’,‘lisi’,‘wangwu’三个值。
③从students表中列出所有ID在2和3之间的学生:
mysql> select name from students where id between 2 and 3;
这样会列出‘lisi’,‘wangwu’二个值。不同的数据库对两个边界值(2和3)的处理方式不同,mysql会列出包含2和3的列,但是有些数据库不会列出。
4、and和or:用于对一个以上的记录进行过滤。可以在where子句中把两个或多个条件结合起来。
例子:
①从students表中列出ID不超过3,且性别为女的学生姓名:
mysql> select name from students where id <=3 and sex='woman';
这样会列出‘lisi’一个值。
5、order by:用于对获取的结果进行排序。默认是对结果进行升序排序,可以使用desc关键字对结果进行降序排序。