您的位置:首页 > Web前端

MySQL 5.7 Reference Manual Chapter 4 Tutorial 参考手册第四章教程内容总结

2016-11-07 15:30 666 查看
连接
mysql -h host -u user -p


断开
QUIT
or
\q
or
Control+D
(unix)

打印
SELECT VERSION();


输入多行时,想放弃当前输入重新输入,请输入
\c


mysql> SELECT
-> USER()
-> \c
mysql>


提示符及含义

PromptMeaning
mysql>Ready for new query
‘>Waiting for next line, waiting for completion of a string that began with a single quote (‘)
“>Waiting for next line, waiting for completion of a string that began with a double quote (“)
`>Waiting for next line, waiting for completion of an identifier that began with a backtick (`)
/*>Waiting for next line, waiting for completion of a comment that began with /*
该查询不会执行,提示符已经提醒你遗漏了右单引号,但是如何终止查询呢?请输入
'\c
(先补上右单引号)

mysql> SELECT * FROM my_table WHERE name = 'Smith AND age < 30;
'>


显示当前所有数据库
SHOW DATABASES;


创建数据库
CREATE DATABASE menagerie;


使用数据库(必须写在一行)(USE 和 Quit 都不需要加分号结尾,建议统一分号结尾)
USE menagerie


连接时指定数据库
mysql -h host -u user -p database


注:若想指定密码,密码与
-p
之间不能存在空格,例如:
-pmypassword
,当然不建议你这样做,因为会暴露你的密码给能登陆这台电脑的用户

显示当前所有数据表
SHOW TABLES;


创建数据表

CREATE TABLE pet (name VARCHAR(20), owner VARCHAR(20), species VARCHAR(20), sex CHAR(1), birth DATE, death DATE);


VARCHAR() 支持 1 - 65535 个字符

展示表设计
DESCRIBE pet;


省略 INSERT DELETE UPDATE SELECT 相关内容

排序字符型数据列,默认不关心大小写,可以强制关心大小写
ORDER BY BINARY column_name


与 NULL 判断相等或不相等

WHERE death IS NULL
WHERE death IS NOT NULL


不能使用
= < > <>
与 NULL 比较,因为与 NULL 比较的的结果仍是 NULL

0 和 NULL 代表 false,其它的数据均为 true

两个 NULL 值被
GROUP BY
认为相等,且被放入一组

NULL 值在用
ORDER BY
升序时排第一,降序排最后

模式匹配
LIKE or NOT LIKE


PatternMatching
_ 下划线任一字符
% 百分号任意数量字符(零字符)
扩展模式匹配
REGEXP and NOT REGEXP or RLIKE and NOT RLIKE


PatternMatching
.任一字符
[…]匹配出现在中括号内的字符([abc] 匹配a,b或c; [a-z] 匹配小写字母; [0-9] 匹配数字)
*匹配零次或多次出现在 * 前面的内容(x* 任意数量字符x;[0-9]* 任意数量数字;.* 任意数量任意字符)
{n}重复 n 次(.{5} 任意字符重复 5 次)
^匹配开始处
$匹配结尾处
注:LIKE 匹配整个被测试值,REGEXP 匹配任何部分被测试值(LIKE ‘%w%’ 等价 REGEXP ‘w’)

注:匹配默认不关心大小写,可以强制关心大小写
REGEXP BINARY '^b'


以上两种模式匹配总结自 这里,请访问查看相关示例

计算行数
COUNT(*)


暂时省略内连接
INNER JOIN
,因为 这里 仅是为了演示多表查询

查看当前在哪个数据库(若未选择任何数据库显示 NULL)
SELECT DATABASE();


批处理模式使用 MySQL

shell> mysql < batch-file
C:\> mysql -e "source batch-file"
shell> mysql -h host -u user -p < batch-file


增加 –force 选项忽略错误继续执行

mysql -t
Get the interactive output format in batch mode

mysql -v
To echo to the output the statements that are executed

MySQL 提示符下可这样使用脚本

mysql> source filename;
mysql> \. filename


省略普通查询 例子(提取知识点如下)

最大值
MAX(column_name)


用户定义变量

SELECT @min_price:=MIN(price),@max_price:=MAX(price) FROM shop;
SELECT * FROM shop WHERE price=@min_price OR price=@max_price;


外键限制仅在 InnoDB 类型中有效,MyISAM 类型中无效

若存储用户每次访问时间(年,月,日),可通过如下方式显示用户某年某月访问天数

SELECT year,month,BIT_COUNT(BIT_OR(1<<day)) AS days FROM t1 GROUP BY year,month;


获取最后插入编号
LAST_INSERT_ID() SQL function or the mysql_insert_id() C API function


====本文内容已完,宣传我的项目====

欢迎关注《休闲益智游戏》微信服务号

谢谢
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐