MySQL 常用语句:
语句 | 功能说明 | 示例 |
---|---|---|
select | 数据查询 | SELECT 列名称 FROM 表名称 |
distinct | 数据去重 | SELECT DISTINCT 列名称 FROM 表名称 |
where | 有条件地从表中选取数据 | SELECT 列名称 FROM 表名称 WHERE 列名称 运算符 值 |
and和or | and和or可在 where子语句中把两个或多个条件结合起来 | SELECT 列名称 FROM 表名称 WHERE 条件1 AND / OR 条件2 |
Order By | 用于根据指定的列对结果集进行排序 | SELECT 列名称 FROM 表名称 ORDER BY 列名称 |
insert into | 用于向表格中插入新的行 | INSERT INTO 表名称 VALUES (值1, 值2,…) |
update | 用于修改表中的数据 | UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值 |
delete | 用于删除表中的行 | DELETE FROM 表名称 WHERE 列名称 = 值 |
limit | 用于规定要返回的记录的数目 | SELECT 列名称 FROM 表名称 LIMIT 数据条数 |
like | 用于在 WHERE 子句中搜索列中的指定模式 | SELECT 列名称 FROM 表名称 WHERE 列名称 LIKE 字符串 |
in | 在 where子句中规定多个值 | DELETE FROM 表名称 WHERE 列名称 IN (值1,值2,值3 …) |
between… and | 选取介于两个值之间的数据范围。这些值可以是数值、文本或者日期 | SELECT column_name FROM table_name WHERE column_name BETWEEN value1 AND value2 |
not | 对IN,BETWEEN,EXISTS子句取反 | SELECT column_name FROM table_name WHERE column_name NOT BETWEEN value1 AND value2 |
as | 为列名称和表名称指定别名 | Select Alias_Name.id From table_name AS Alias_Name |
join | 用于根据两个或多个表中的列之间的关系,从这些表中查询数据 | |
IFNULL | 判断第一个表达式是否为 NULL,如果为 NULL 则返回第二个参数的值,如果不为 NULL 则返回第一个参数的值 | IFNULL(expression, alt_value) |
escape | 用来定义一个转义符。将定义的该转义符后面的这一个字符作为普通字符使用 | select * from table where name like ‘%_%’ escape ‘’ |
is null | 确定一个给定的表达式是否为NULL | |
is not null | 确定一个给定的表达式是否不为NULL | |
order by排序顺序:
单列升序:select<column_name> from <table_name> order by <column_name>;
(默认升序,即使不写ASC)
单列降序:select <column_name> from <table_name> order by <column_name> desc;
多列升序:select <column_one>, <column_two> from <table_name> order by <column_one>, <column_two>;
多列降序:select <column_one>, <column_two> from <table_name> order by <column_one> desc, <column_two> desc;
多列混合排序:select <column_one>, <column_two> from <table_name> order by <column_one> desc, <column_two> asc;
多列规则的排序的时候,如果第一列相同的情况下,会根据第二列继续排序
where子句常用运算符:
操作符 | 描述 |
---|---|
= | 等于 |
<=> | 安全等于 |
<> | 不等于 |
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
BETWEEN | 在某个范围内 |
LIKE | 搜索某种模式 |
SQL 通配符:
通配符 | 描述 |
---|---|
% | 替代一个或多个字符 |
_ | 仅替代一个字符 |
[charlist] | 字符列中的任何单一字符 |
[^charlist]或者[!charlist] | 不在字符列中的任何单一字符 |
起别名:
1.使用AS
为表取别名 :SELECT column_name(s) FROM table_name AS alias_name
为列取别名:SELECT column_name AS alias_name FROM table_name
举例:
使用别名的语句:
SELECT po.OrderID, p.LastName, p.FirstName FROM Persons AS p, Product_Orders AS po WHERE p.LastName='Adams' AND p.FirstName='John';
不使用别名的语句:
SELECT Product_Orders.OrderID, Persons.LastName, Persons.FirstName
FROM Persons, Product_Orders WHERE Persons.LastName='Adams' AND Persons.FirstName='John';
列名取别名数据库查询到的数据库表格别名会自动被别名替换掉,不需要软件查询到表格再逐列替换列名,方便数据查询显示,举例如下:
2.使用空格
SELECT column_name alias_name FROM table_name;
搜索mysql所有数据表格:
select count(*) from information_schema.tables where table_name = "name";
查看当前处于哪个数据库(即哪个是当前默认数据库):
select database();
查看数据库版本:
select version();
查看表字段及字段数据格式:
SHOW full COLUMNS FROM table_name ;
SHOW COLUMNS FROM table_name ;
desc table_name ; -- 此处desc为description缩写,描述的意思,并非排序
通过windows自带客户端登陆和退出MySQL:
登陆:
mysql -h主机名 -P端口号 -u用户名 -p密码;
-- 连接本地数据库可省略主机名和端口号
退出:
exit;
SQL语句注释:
单行注释:#注释文字
单行注释:-- 注释文字
多行注释: /* 注释文字 */
SQL着重号
字段前后加的``为着重号,目的是为了区分字段与关键字,加与不加不影响语句执行,只影响显示效果
SELECT特殊用法
查询常量:
select 100;
select 'john';
查询表达式:
select 100*98;
查询函数:
select version();
MYSQL +的作用:
在mysql中,+仅仅有一个作用:运算符
select 100 + 98;#两个操作数都为数值型,则直接做加法运算
select '123' + 98;#其中一方为字符型,则试图将字符型数值转换为数值型数值,如果转换成功,则继续做加法运算,如果转换失败,则将字符型数值转换成0;
select 'john'+98;
select null+10;# 只要其中一方为null,则结果肯定为 null;