一页纸学SQL语法
SQL虽说是一门计算机语言,听着吓人但学习它一点都不难,SQL 是用于访问和处理数据库的标准的计算机语言,它对多种数据库(MySQL、Oracle等)均通用,只有些许不同。
数据库作为一个库,里面存着很多个表,表的样子长下面这样,拥有行列类似excel,但比excel强的地方是它可以通过SQL语言来对数据进行各种花样的增删查改,即可以进行数据储存也可以进行数据挖掘。
数据库里的一个表的样子1、SQL语法非常简单,基本上懂英文就可以使用了,想要什么效果就加个“形容词”来描述你想要的数据。
2、SQL的语句对大小写不敏感,只是对表里的数据的大小写敏感。
3、多数数据库要求每句SQL句末加个分号,说明这是一条命令而不两条,所以一般按回车是不会执行的,记得加分号。
数据库的基本操作语句
连接上数据库之后, 就可以通过命令行输入命令进行数据库操作,最基础的操作有增删查改,输入语句后就会返回相应数据结果。
增:IINSERT INTO 表名称 (列1,列2,...) VALUES (值1, 值2,....)
删:DELETE FROM 表名称 WHERE 列名称 = 值
查:SELECT 列名称 FROM 表名称
改:UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
给语句加上“形容词”
通过上面基本操作可以简单查询数据库里的数据,但还很单调,我们可以添加这些形容词来限制它输出哪些内容,这些词能用在哪条语句里可以自己用逻辑判断:
1、WHERE —— 在哪;增删查改都可以用到,可以有条件地选取数据。使用方式:WHERE 列 运算符 值,运算符如= 、>之类,另外也可以加个IN的形容词,它可以规定多个值,如WHERE IN (值1,值2,...)。
2、DISTINCT —— 有区别的;一般用在列名称前面,表达的意思是,显示这个列里面有区别的那些数据,相同的数据就不显示了。如SELECT DISTINCT Company FROM Orders。
3、AND、OR、NOT —— 和\或\不;通用的逻辑运算符,表达的意思都懂,有多个值需要同时处理时可用。
4、ORDER BY —— 排序;一般是按字母顺序排列,在它后面加列名称,就会把列里的内容排序,它后面可以再加DESC进行逆排序。
5、TOP —— 最顶上的;一般返回ID从小到大的。TOP后可以加数字表示取顶上几个,也可以再加PERCENT表示百分比。
6、LIKE ——像;既然说到像,那肯定是某一行或列里有些字符是不知道的,这时候就可以用通配符来代替这些字符,找长得像的了。一般是在WHERE 后面加 LIKE,如WHERE City LIKE 'N%'。
通配符7、BETWEEN ... AND —— 选取X和Y之间的值;如...WHERE LastName BETWEEN 'Adams' AND 'Carter'。
8、AS —— 别名;在表名称或列名称后加个AS,如SELECT LastName AS Family,输出的列名称就可以改变,如FROM Persons AS p,就可以把名称简化利于书写阅读,多个表查询时就可写成p.lastname,“.”代表“的”的意思。
对多个表操作:
1、JOIN —— 加入;可以把两个表联合起来查询结果。普通方法是:...FROM Persons, Orders WHERE Persons.Id_P = Orders.Id_P。JOIN方法是:...FROM Persons JOIN Orders ON Persons.Id_P = Orders.Id_P。JOIN把表连接起来,ON相当于WHERE。但JOIN有更多的方法:
JOIN: 如果表中有至少一个匹配,则返回行
LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行
RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的行
FULL JOIN: 只要其中一个表中存在匹配,就返回行
2、UNION —— 结合;用于合并两个或多个 SELECT 语句的结果集。如SELECT FROM 表1 UNION SELECT FROM 表2 。UNION默认选取不同的值,UNION ALL允许重复值。
3、SELECT INTO ——从一个表中选取数据,然后把数据插入另一个表中。如SELECT LastName,Firstname INTO Persons_backup FROM Persons WHERE City='Beijing'。
4、ALTER TABLE —— 用于在已有的表中添加、修改或删除列。要在表中添加一列,可以用:ALTER TABLE 表名称 ADD 列名称 数据类型,要删除一列,可以用ALTER TABLE 表名称 DROP COLUMN 列名称。
5、CREATE DATABASE/TABLE ——创建数据库用:CREATE DATABASE 数据库名,然后可通过:CREATE TABLE 表名称(列名称1 数据类型,...),来创建表。
6、DROP ——当你不需要某个表或数据库时,可以用DROP删除索引、表和数据库。如DROP TABLE 表名称。
最后说说数据类型,不同的数据库有不同的数据类型分类,具体可以在后面链接中找。但基本的有三种:字符串、数值、日期,如MySQL里的字符串类型中有CHAR(size),size是字符串长度,创建表的时候就可以 (列名称1 CHAR(10))创建出每行能输入10个字符的列。
注意:在写SQL语句时,如果数据类型是字符串,一般要用引号‘’把内容括起来,否则系统会把它认成其他东西。
————————
4个基本语句,14个形容词,学会了上面这些,已经算是基本学会了SQL数据库操作,可以各种花样地对数据库中的表进行增删查改。剩下内容更偏编程操作,如果还想学习或详细了解的话,可以直接到W3看,本文是有选择地从W3抄过来的,有错误欢迎指出。
看完这篇就可以到网上搜一下别人写的一些SQL语句,理解了上面的词,再看看他们是怎么写的,很容易就学会了。
剩余内容为:SQL 约束 (Constraints),用于限制加入表的数据的类型。SQL函数,可用于计数和计算的内建函数,比较常用的有COUNT()、MAX()、MIN()、SUM()、LEN()等,具体可查看网站,跟EXCEL差不多的用途。