1. 查看进程
show processlist;
2. 查看版本
select version()
或
show variables like '%version%'
3. 建库指定utf8
create database XXX default charset utf8 collate utf8_general_ci;
如果要创建默认gbk字符集的数据库可以用下面的sql:
create database yourdb DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;
4. 查看数据库下有多少表,及所有的字段名,表名
SELECT
count(*) TABLES,
table_schema
FROM
information_schema.TABLES
WHERE
table_schema = '数据库名'
GROUP BY
table_schema;
-- 查询一个数据库下的所有表名字
select table_name from information_schema.tables where table_schema='XXX' and table_type='BASE TABLE';
-- 查询一个数据库表下的所有字段名字
select column_name,data_type from information_schema.columns where table_schema='XXX' and table_name='table_name_XXX';
5. 创建账号,并授权
use mysql;
show tables;
select current_user;
select * from user ;
CREATE USER 'devadmin'@'localhost' IDENTIFIED BY '密码123';
FLUSH PRIVILEGES;
GRANT ALL ON yours_db_name.* TO 'devadmin'@'localhost';
FLUSH PRIVILEGES;
-- 查询2024的数据:
select * from table where year(column)='2020';
-- 查找月份为11的数据
select * from table where month(column)='12';
-- 查询第一季度数据:QUARTER 函数格式:参数须为年月日
SELECT * FROM table WHERE QUARTER(colum) = '1'
-- 查找天数为本年第二天的数据:year,month,dayofyear是mysql的函数,分别是取得年,月,和当前时间在本年是第几天的3个函数
select * from table where dayofyear(column)='2';
-- 查询当月数据:
select * from table where date_format(column,'%Y-%m')=date_format(now(),'%Y-%m'
-- mysql中获取本月第一天、本月最后一天、上月第一天、上月最后一天
-- 本年第一天
select date_sub(curdate(), interval dayofyear(curdate())-1 day);
SELECT curdate() - INTERVAL(dayofyear(curdate()) - 1) DAY;
-- 本年最后一天
select concat(year(curdate()),'-12-31');
-- 上年最后一天
select date_sub(curdate(), interval dayofyear(curdate()) day);
-- 下年第一天(本年第一天加一年)
SELECT (curdate() - INTERVAL(dayofyear(curdate()) - 1) DAY) + INTERVAL 1 YEAR;
-- 本月第一天
select date_add(curdate(), interval - day(curdate()) + 1 day);
-- 本月最后一天
select last_day(curdate());
-- 上月第一天
select date_add(curdate()-day(curdate())+1,interval -1 month);
-- 上月最后一天
select last_day(date_sub(now(),interval 1 month));
-- 下月第一天
select date_add(curdate()-day(curdate())+1,interval 1 month);
-- 下月最后一天
select last_day(date_sub(now(),interval -1 month));
-- 本月天数
select day(last_day(curdate()));
-- 上月今天的当前日期
select date_sub(curdate(), interval 1 month);
-- 上月今天的当前时间(时间戳)
select unix_timestamp(date_sub(now(),interval 1 month));
-- 获取当前时间与上个月之间的天数
select datediff(curdate(), date_sub(curdate(), interval 1 month));
-- 本周第一天:
select date_sub(curdate(),INTERVAL WEEKDAY(curdate()) + 1 DAY);
-- 本周最后一天:
select date_sub(curdate(),INTERVAL WEEKDAY(curdate()) - 5 DAY);
-- 上周第一天:
select date_sub(curdate(),INTERVAL WEEKDAY(curdate()) + 8 DAY);
-- 上周最后一天:
select date_sub(curdate(),INTERVAL WEEKDAY(curdate()) + 2 DAY);