navicat使用指南
navicat给createTime和modifyTime设置mysql系统时间:
一般在设计表的时候:
将createTime设置为CURRENT_TIMESTAMP(当插入一条数据时,insert语句可以不写 values(#{createTime)}),createTime创建时间会自动生成mysql系统时间
modifyTime设置为 CURRENT_TIMESTAMP 并且 勾选 根据当前时间戳更新 (当表中 一条记录有修改操作时, 你不用在sql里写 update modifyTime,它会自动更新modifyTime为mysql系统时间)
主键盘上 1左边放入叫反单引号 `user_behave_log`(加上反单引号,就知道是自定义的字段,数据库名,表名) 是 MySQL 的转义符,这个符号是对数据库名、表明、字段的特殊处理。避免和 mysql 的保留字冲突
使用navicat将MySQL表结构(含数据类型、字段备注注释)导出成Excel(其实是选中查询结果的5行5列(建议直接ctrl+a全选)粘贴到word中excel的5行5列里即可, 如果有换行,就将navicat字段里的注释的换行删掉即可) word中表格列数 行数多时,会循环粘贴
ctrl+shift+w关闭所有窗口
如何从数据字典中,检索出这个表的字段的相关信息?sql如下:
SELECT
COLUMN_NAME 列名,
COLUMN_COMMENT 备注,
COLUMN_TYPE 数据类型,
CASE WHEN COLUMN_KEY = 'PRI' THEN 'TRUE' ELSE 'FALSE' END AS '是否主键',
CASE WHEN IS_NULLABLE = 'NO' THEN 'TRUE' ELSE 'FALSE' END AS '不为空'
FROM
INFORMATION_SCHEMA.COLUMNS
where
-- developerclub为数据库名称,到时候只需要修改成你要导出表结构的数据库即可
table_schema ='ipvacloud_20180319'
AND
-- article为表名,到时候换成你要导出的表的名称
-- 如果不写的话,默认会查询出所有表中的数据,这样可能就分不清到底哪些字段是哪张表中的了,所以还是建议写上要导出的名名称
table_name = 'ft_base_data'
--最全的字段信息查询sql
SELECT
COLUMN_NAME 列名,
COLUMN_COMMENT 备注,
COLUMN_TYPE 数据类型,
DATA_TYPE 字段类型,
CHARACTER_MAXIMUM_LENGTH 字符长度,
COLUMN_DEFAULT 默认值,
COLUMN_KEY 主键,
CASE WHEN extra = 'auto_increment' THEN 1 ELSE 0 END AS '是否自增',
IS_NULLABLE 是否为空,
CASE WHEN IS_NULLABLE = 'YES' THEN 'TRUE' ELSE 'FALSE' END AS '是否为空',
numeric_precision AS '数字长度',
numeric_scale AS '小数位数'
FROM
INFORMATION_SCHEMA.COLUMNS
where
-- developerclub为数据库名称,到时候只需要修改成你要导出表结构的数据库即可
table_schema ='ipvacloud_20171220'
AND
-- article为表名,到时候换成你要导出的表的名称
-- 如果不写的话,默认会查询出所有表中的数据,这样可能就分不清到底哪些字段是哪张表中的了,所以还是建议写上要导出的名名称
table_name = 'effect_site_day'
点击F12(也可以点击左下角的蓝色按钮)可以从 只显示活跃对象(即打开连接的对象), 切换到 显示所有对象
navicat复制为insert语句(将光标停留在某一行(或选中多行)就复制该行为insert语句了 (#注意将自增的id列删除, 将生成的库名也删除#)
从前是 点击顶部菜单栏的数据传输
navicat只导出一个存储过程
现在推荐是 右键左侧的库名--点击--数据传输--全部取消--展开 选择你要导出的存储过程(当然你可以点击数据库对象下的框,输入字母就可以搜索了) 导出即可
给表名 和 列加注释
SELECT CONCAT(NULL,'aa') -- 结果还是null
美化后的sql
SELECT
*
FROM
(
SELECT
SiteId,
SiteName
FROM
site_all_info
WHERE
SiteId = 'BBBGC'
) aa
navicat快捷键:
ctrl+delete来删除查询出的一行记录(注意光标要在记录所在行,或你选中多行)(当然你也可以点击左下角的-来删除)
ctrl+l快捷键是删除sql里的一行
快捷键ctrl+tab来切换多个窗口(从左到右)
navicat默认每页显示1000条记录,ctrl+f也只在当前页面搜
当你滚动条翻来翻去地找,发现insert的一条记录没找到,这个时候你需要翻到下一页去找,因为navicat默认每页显示1000条记录
navicat的Ctrl+F默认有时搜不到,但用sql可以,原因是数据库表的记录数太多,navicat只查询第一页,如果你设置第一页限制记录数为10万,就可以查到你要的数据了
Navicat命令界面使用
从光标处运行一个语句