MySQL基本常识
-
MySQL:一种关系型数据库管理系统。是按照数据结构来组织、存储和管理数据的仓库。
-
数据库:是一些关联数据表的集合。
-
数据表:表是数据的矩阵,看起来像电子表格,如下图:user表和admin表。
-
列:相同数据类型的集合。如:name(姓名列),包含表内所有姓名。
-
行:一组相关的数据,描述某条记录的具体信息。如“赵六”用户的具体信息:id、name、birthday、sex等。
-
主键:唯一标识,一个数据表中只能包含一个主键。可以使用主键来查询数据。
-
外键:用于关联两个数据表,即两个数据表都有该字段。
基本数据类型(JAVA)
-
整型:
-
整数类型:short(短整型)、int(整型)、long(长整型)
-
区别:所占内存空间、取值范围不同
-
-
浮点型:
-
小数类型:float(单精度)、double(长精度)
-
区别:有效数字范围不同
-
-
字符类型:
-
字符类型是一个单一的 16 位 Unicode。
-
char 数据类型可以储存任何字符。
-
-
布尔类型:
-
boolean
-
值:true或false。
-
基本查询语句
以下查询基于上图「user表」和「admin表」
查询所有列的所有行
SELECT * FROM user;
-- 查询「user表」所有数据;* :通配符,表示所有列
查询指定列的所有行
SELECT name,birthday,sex FROM user;
-- 查询「user表」指定的字段:name,birthday,sex
基本条件查询
where语句:用于添加条件,指定过滤条件的字句来读取指定数据。常用运算符或关键字:
-
逻辑运算符:与(and),可以连接多条 ; 或(or),可以连接多个条件; 非(not)取反操作。
-
关系运算符: >, <, >=, <=, =, !=/<>(不等于)
-
范围查询:BETWEEN、NOT BETWEEN、IN(在集合中)、NOT IN(不在集合中)
-
模糊查询:like, %通配符表示匹配任意长度、任意类型, _表示匹配一个字符的位置
逻辑运算符举例:
SELECT name,birthday,sex FROM user where uid=1 and sex = '男';
--在「user表」中,查询name,birthday,sex ,需满足: id为1 且是男性的用户
SELECT name,birthday,sex FROM user where uid=1 or sex = '女';
--在「user表」中,查询name,birthday,sex ,需满足: id为1 或者是女性的用户
SELECT uid,name,birthday,sex FROM user where not sex = '女';
--在「user表」中,查询name,birthday,sex ,并满足:不是女性的用户
关系运算符举例:
SELECT uid,name,birthday,sex FROM user where uid > 2;
--在「user表」中,查询name,birthday,sex ,需满足: id大于2的用户
范围查询举例:
SELECT uid,name,birthday,sex FROM user where birthday BETWEEN '1996-10-15' and '1998-12-19';
--在「user表」中,查询name,birthday,sex ,需满足:生日在[1996-10-15~1998-12-19]之间的
模糊查询举例:
SESELECT uid,name,birthday,sex FROM user where name LIKE '%三%';
--在「user表」中,查询name,birthday,sex ,需满足: 名字包含有“三”的用户
SELECT uid,name,birthday,sex FROM user where name LIKE '_三%';
--在「user表」中,查询name,birthday,sex ,需满足:名字第二字为“三”的用户
基本排序语句
-
ORDER BY:设定子句用哪种方式进行排序。
-
排序方式:ASC(升序)、降序(DESC)。
SELECT uid,name,birthday,sex FROM user ORDER BY birthday ASC;
--在「user表」中,查询name,birthday,sex ,并将查询的数据按用户生日进行升序排序。