数据库是保存表和其他SQL结构的容器
客户机--服务器软件,服务器部分负责所有的数据访问和处理,运行在数据库服务器上;关于数据的增删、更新等的请求都由服务器软件完成,这些请求来自运行客户机的计算机;客户机是与用户打交道的软件;
表由行和列组成,行包含了某个对象的所有信息,列是某个分类的所有信息,也就是所有对象在这个分类的所有信息;
主键,一列或者一组列,其值能够唯一的标识去分表的每一行;没有主键,更新和删除特定的行很困难;
SQL,结构化查询语言,专门用来与数据库通信的语言;
数据库--表--行列(记录、字段)--
显示数据库列表:SHOW DATABASES;
使用某数据库:USEdatabasename;
显示当前数据库的表:SHOW TABALES
显示某表的列:SHOW COLUMNS;
SHOW帮助:HELP SHOW;
数据检索:SELECT
检索单个列:SELECT列名 FROM 表名;返回所有匹配的行,无论行是否重复;
检索多个列:SELECT列名,列名,列名 FROM表名;
检索所有列:SELECT *FROM表名;
检索不同的行:SELECT DISTINCT列名 FROM表名;行不重复;
限制结果显示:SELECT列名 FROM表名 LIMIT 行数量;SELECT列名 FROM表名 LIMIT 开始行号 行数量;
排序检索的数据:ORDER BY
SELECT列名 FROM表名ORDER BY 列名;后面列名可一个或多个,相同时按下一个列排序;
指定排序方向:SELECT列名 FROM表名ORDER BY 列名 DESC;
过滤检索的数据:WHERE
SELECT列名 FROM表名 WHERE某列=某值;条件支持常用比较条件及BETWEEN;
不匹配检查:SELECT列名 FROM表名 WHERE某列<>某值;
范围值检查:SELECT列名 FROM表名 WHERE某列BETWEEN某值 AND某值;
J检查出某列里为空值的行:SELECT列名 FROM表名 WHERE某列 IS NULL;除此语句外,匹配过滤和不匹配过滤均不返回NULL值的行;
组合WHERE子句进行数据过滤:操作符AND,OR,IN,NOT
select列名from 表名 where子句 or where子句;
select列名from 表名 where列名in (某值,某值);在某两值或多值之间的行
select列名from 表名 where列名not in (某值,某值);满足否定not之后的条件的行
用通配符进行过滤:LIKE,%,_
搜索模式,由字面值、通配符或者两者的组合构成的搜索条件;
搜索条件可以根据数据库的配置方式来设置是否去分大小写;
谓词LIKE,后面跟的搜索模式利用通配符而不是直接相等匹配;
select列名from 表名 where列名 like'abc%';表示以abc开头的字符串;
%匹配任意字符的出现任意次数,下划线_只匹配单个字符;
select列名from 表名 where列名 like'_abc%';表示在abc前面还有一个字符,搜索以‘某abc’字符开头的行;