常用
1. 常用函数
DATE_ADD(date,INTERVAL i keyword)
返回date加上 i 时期
keyword可以为:
SECOND
MINUTE
HOUR
DAY
WEEK
MONTH
QUARTER
YEARDATE_SUB(date,INTERVAL i keyword) 与上面相反
DATE_FORMAT(create_date,’%H%i’)
时间格式化:
%Y %D %M %h:%i:%s %Y%m%dMONTHNAME(date) 返回date的月份名(英语月份,如October)
DAYNAME(date) 返回date的星期名(英语星期几,如Saturday)
NOW() 返回当前的日期和时间 如:2016-10-08 18:57:39
CURDATE()或CURRENT_DATE() 返回当前的日期
CURTIME()或CURRENT_TIME() 返回当前的时间
QUARTER(date) 返回date在一年中的季度(1~4)
WEEK(date) 返回日期date为一年中第几周(0~53)
DAYOFYEAR(date) 返回date是一年的第几天(1~366)
DAYOFMONTH(date) 返回date是一个月的第几天(1~31)
DAYOFWEEK(date) 返回date所代表的一星期中的第几天(1~7)
YEAR(date) 返回日期date的年份(1000~9999)
MONTH(date) 返回date的月份值(1~12)
DAY(date) 返回date的天数部分
HOUR(time) 返回time的小时值(0~23)
MINUTE(time) 返回time的分钟值(0~59)
SECOND(time) 返回time的秒值(0-59)
DATE(datetime) 返回datetime的日期值
TIME(datetime) 返回datetime的时间值TO_DAYS(create_date)
返回从0年开始 到date之间的天数
2.系统表
DATABASE() 返回当前数据库名
BENCHMARK(count,expr) 将表达式expr重复运行count次
CONNECTION_ID() 返回当前客户的连接ID
FOUND_ROWS() 返回最后一个SELECT查询进行检索的总行数
USER()或SYSTEM_USER() 返回当前登陆用户名
VERSION() 返回MySQL服务器的版本
MySQL常用系统表大全:
http://blog.csdn.net/xlxxcc/article/details/51754524
3.连接查询
INNER JOIN:如果表中有至少一个匹配,则返回行
LEFT JOIN:即使右表中没有匹配,也从左表返回所有的行
RIGHT JOIN:即使左表中没有匹配,也从右表返回所有的行
FULL JOIN:只要其中一个表中存在匹配,则返回行
4.优化速度
MySQL数据库优化的八种方式(经典必看)
https://www.cnblogs.com/zhyunfe/p/6209074.html
https://blog.csdn.net/u014421556/article/details/52063904
centOS 7 安装mysql
1.使用安装命令 :yum -y install mysql mysql-server mysql-devel
安装完成却发现Myserver安装缺失,在网上找原因,原来是因为CentOS 7上把MySQL从默认软件列表中移除了,用MariaDB来代替,所以这导致我们必须要去官网上进行下载,找到链接,用wget打开:
a. wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
b. rpm -ivh mysql-community-release-el7-5.noarch.rpm
c. yum -y install mysql mysql-server mysql-devel,安装成功。
启动服务
service mysqld start
进入客户端
mysql -u root -p 输入密
常用数据库操作
mysql数据库使用总结
本文主要记录一些mysql日常使用的命令,供以后查询。
1.更改root密码
mysqladmin -uroot password ‘yourpassword’
2.远程登陆mysql服务器
mysql -uroot -p -h192.168.137.10 -P3306
3.查询数据库
show databases;
4.进入某个数据库
use databasename;
5.列出数据库中的表
show tables;
6.查看某个表全部字段
desc slow_log;
show create table slow_log\G; (不仅可以显示表信息,还可以显示建表语句)
7.查看当前用户
select user();
8.查看当前所在数据库
select database();
9.创建新数据库(可以指定字符集)
create database db1 charset utf8;
10.创建新表
create table t1 (id
int(4),name
char(40));
11.查看数据库版本
select version();
12.查看数据库状态
show status; 当前会话状态
show global status; 全局数据库状态
show slave status\G; 查看主从数据库状态信息
13.查询数据库参数
show variables;
14.修改数据库参数
show variables like ‘max_connect%’;
set global max_connect_errors = 1000;(重启数据库会失效,要在配置文件中修改)
15.查看当前数据库队列
show processlist;
16.创建普通用户并授权给某个数据库
grant all on databasename. to ‘user1’@’localhost’ identified by ‘123456’;
17.查询表数据
select from mysql.db; //查询该表中的所有字段
select count() from mysql.user; //count()表示表中有多少行
select db,user from mysql.db; //查询表中的多个字段
select * from mysql.db where host like ‘10.0.%’;在查询语句中可以使用万能匹配 “%”
18.插入一行数据
insert into db1.t1 values (1, ‘abc’);
19.更改表的某一行数据
update db1.t1 set name=’aaa’ where id=1;
20.清空表数据
truncate table db1.t1;
21.删除表
drop table db1.t1;
22.清空数据库中的所有表(数据库名是eab12)
mysql -N -s information_schema -e “SELECT CONCAT(‘TRUNCATE TABLE ‘,TABLE_NAME,’;’) FROM TABLES WHERE TABLE_SCHEMA=’eab12’” | mysql -f eab12
23.删除数据库
drop database db1;
24.数据库备份
mysqldump -uroot -p’yourpassword’ mysql >/tmp/mysql.sql
25.数据库恢复
mysql -uroot -p’yourpassword’ mysql </tmp/mysql.sql
26.新建普通用户
CREATE USER name IDENTIFIED BY ‘ssapdrow’;
27.更改普通用户密码
SET PASSWORD FOR name=PASSWORD(‘fdddfd’);
28.查看name用户权限
SHOW GRANTS FOR name;
29.脚本中执行mysql命令
mysql -uuser -ppasswd -e”show databases”
echo “show databases”|mysql -uuser -ppassword
以下是执行大量mysql语句采用的方式
mysql -uuser -hhostname -ppasswd << EOF
mysql语句
EOF
原文链接:
https://www.cnblogs.com/suxiaoman/p/7693066.html
MySQL创建用户与授权
一. 创建用户
命令:
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
说明:
username:你将创建的用户名
host:指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost,如果想让该用户可以从任意远程主机登陆,可以使用通配符%
password:该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器
例子:1
2
3
4
5CREATE USER 'dog'@'localhost' IDENTIFIED BY '123456';
CREATE USER 'pig'@'192.168.1.101_' IDENDIFIED BY '123456';
CREATE USER 'pig'@'%' IDENTIFIED BY '123456';
CREATE USER 'pig'@'%' IDENTIFIED BY '';
CREATE USER 'pig'@'%';
二. 授权:
命令:
GRANT privileges ON databasename.tablename TO 'username'@'host'
说明:
privileges:用户的操作权限,如SELECT,INSERT,UPDATE等,如果要授予所的权限则使用ALL
databasename:数据库名
tablename:表名,如果要授予该用户对所有数据库和表的相应操作权限则可用表示,如.*
例子:1
2GRANT SELECT, INSERT ON test.user TO 'pig'@'%';
GRANT ALL ON *.* TO 'pig'@'%';
注意:
用以上命令授权的用户不能给其它用户授权,如果想让该用户可以授权,用以下命令:
GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;
三.设置与更改用户密码
命令:
SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');
如果是当前登陆用户用:
SET PASSWORD = PASSWORD(“newpassword”);
例子:
SET PASSWORD FOR 'pig'@'%' = PASSWORD("123456");
四. 撤销用户权限
命令:
REVOKE privilege ON databasename.tablename FROM 'username'@'host';
说明:
privilege, databasename, tablename:同授权部分
例子:
REVOKE SELECT ON *.* FROM 'pig'@'%';
注意:
假如你在给用户’pig’@’%’授权的时候是这样的(或类似的):GRANT SELECT ON test.user TO ‘pig’@’%’,则在使用REVOKE SELECT ON . FROM ‘pig’@’%’;命令并不能撤销该用户对test数据库中user表的SELECT 操作。相反,如果授权使用的是GRANT SELECT ON . TO ‘pig’@’%’;则REVOKE SELECT ON test.user FROM ‘pig’@’%’;命令也不能撤销该用户对test数据库中user表的Select权限。
具体信息可以用命令SHOW GRANTS FOR ‘pig’@’%’; 查看。
五.删除用户
命令:
DROP USER 'username'@'host';