1.注意:SQL对字母的大小写不敏感。
2.在编写时还是把分号带上,这一样也是习惯。
3.SQL分为两个部分:DML和DDL
DML(结构化查询语言)是用来查询的语法:
SELECT: 从数据库表中获取数据
UPDATE: 更新数据库
DELETE:从数据库中删除数据
INSERT INTO:向数据表中插入数据
SQL中最常用的DDL语法:
CREATE DATABASE:创建新数据库
ALTER DATABASE:修改数据库
CREATE TABLE:创建新表
ALTER TABLE:修改表
DROP TABLE:删除表
CREATE INDEX:创建索引
DROP INDEX:删除索引
4.SQL SELECT语法
SELECT 列名称 FROM 表名称
"Person表"
Id | LastName | FirstName | Address | City |
---|---|---|---|---|
1 | Adams | John | Oxford Street | London |
2 | Bush | George | Fifth Avenue | New York |
3 | Carter | Thomas | Changan Street | Beijing |
比如输入下面的语句:
SELECT Lastname,FirstName FROM Person;
分别从Person表中取出LastName列和FirstName,得到如下结果:
LastName | FirstName |
---|---|
Adams | John |
Bush | George |
Carter | Thomas |
5.SELECT * FROM 表名(从表中取出所有列 * 表示所有)
6.SELECT DISTINCT 列名 FROM 表名
在有些情况下并不希望把重复的信息罗列出来,此时就要用到DISTINCT语句
7.SELECT 列名 FROM 表名 WHERE 列 运算符 值
操作符:
= | 等于 |
<> | 不等于 |
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
BETWEEN | 在某个范围内 |
LIKE | 搜索某种模式 |
如表:
“person表”
LastName | FirstName | Address | City | Year |
---|---|---|---|---|
Adams | John | Oxford Street | London | 1970 |
Bush | George | Fifth Avenue | New York | 1975 |
Carter | Thomas | Changan Street | Beijing | 1980 |
Gates | Bill | Xuanwumen 10 | Beijing | 1985 |
从person表中的所有列寻找City列中含有‘Beijing’的所有行都罗列出来
8.SQL and 和or的使用(and(且) or(或) 可以复合使用)
不复合:
select * from person where Lastname='Carter' and City='Beijing';在表中找出同时含有carter和beijing的行全部罗列出来
复合使用
select * from person where (Year=1980 or Year=1985) and City='Beijing';
9. SQL ORDER BY(排序,默认是升序,加入DESC为降序)
select * (显示出的列)from student order by liename desc;
10.inser into 表名(列1,列2)(列选择插入,可以去掉) values('值1','值2');
11 update
update 表名 set 列名 操作符 值1 , 列名 操作符 值2 where 列名 操作符
update person set city = 'shantou' where lastname = 'gates';修改一个列
update person set city = 'shantou',year='2014' where lastname = 'gates'修改多个列;
12 delete from where 列名 操作符 值 (删除某行)
dele from person where lastname = 'gates';(删除gates行)
dele from person; (删除所有行)