#数据库博客阅读链接
1. http://isky000.com/database
1. 查看当前MYSQL 数据存储位置
show variables like '%datadir%';
2. 查看库,使用某个库,查看所有表
show datatables, use database1,show tables,
3. 在MYSQL中 0 和 null 都表示逻辑假, 其他值都表示为真
4. 描述一个表结构信息
DESC table1 || DESCRIBE table1>
5.查看当前服务器支持的存储引擎
SHOW ENGINES;
6.LINUX 查看MYSQL 命令位置
whereis mysql
7. 查看MYSQL加载的配置文件
/usr/libexec/mysqld --verbose --help | grep -A 1 'Default options'
其中 /usr/libexec/mysqld 是对应的命令路径
8.启动
MySQL安装完成后启动文件mysql在/etc/init.d目录下
/etc/init.d/mysql start
9.关闭
/usr/bin/mysqladmin -u root -p shutdown
10.导入SQL
use {databaseName};
source {sqlFilePath}
11.导出数据库SQL
mysqldump -u root -p steering > /home/steering/fileuploadTemp/steering.sql
12. linux 中文件的优先级
linux 是多用户的 结构上 /etc 全局设定 /usr 个人账号设定
/etc/my.cnf > /usr/etc/my.cnf
13. 创建数据库 database
create database `steering` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
14. 如果下载的是mysql免安装版本,可以使用以下命令将mysql加入到windows系统服务中
mysqld --install MySQL --defaults-file="C:\Windows\my.ini"
----------------------------------------------------------------------------------------------------
函数相关
1. UUID
REPLACE(UUID(),"-","")
2. group_concat
group by 分组后将数据按照逗号(默认)链接 具体见函数使用手册
-- 实例
最近写SQL脚本 需要一个功能 替换指标评审人员A替换为B,如果B以前就是指标的评审人员则删除,所以写一个脚本判断以前有A的指标中同时也包含B的指标列表
select GROUP_CONCAT(CONCAT('\'',a.id,'\'')) from (
select nd.id as id from jx_nom_delivery nd RIGHT JOIN jx_delivery_psmaster dps on dps.delivery_id = nd.id where nd.id in (
select DISTINCT jnd.id from jx_nom_delivery jnd RIGHT JOIN jx_delivery_psmaster jdps on jdps.delivery_id = jnd.id where jdps.user_id = 'A_ID'
) GROUP BY nd.id HAVING COUNT(dps.id) != 1 and FIND_IN_SET('B_ID', GROUP_CONCAT(dps.user_id))
) as a;