查看mysql版本
1
mysqladmin --version
连接mysql服务
1
mysql -u root -p
查看mysql是否启动
1
ps -ef | grep mysqld
启动mysql
1
mysqld_safe &
关闭mysql
1
mysqladmin -u root -p shutdown
使用两种方式添加用户
- 配置文件
常用管理mysql命令
1
2
3
4
5
6show databases;
use <database_name>;
show tables;
show columns from <table_name>;
show index from <table_name>;
show table status [from <database_name>] [like 'pattern']\G;创建数据库的两种方式
1
2create database <db_name>;
mysqladmin -u root -p create <db_name>删除数据库的两种方式
1
2drop database <db_name>;
mysqladmin drop -u root -p drop <db_name>mysql数据类型
- 数值类型
- 日期/时间类型
- 字符串类型
创建表
1
2
3
4
5create table [if not exists] <table_name>(
<column_name> <column_type>[ auto_increment][ not null][ default <value>][,]
[...,]
[primary key(<column_name>)]
)[engine=<engine_name> default charset=<charset>]删除表
1
drop table <table_name>;
insert
1
insert into <table_name> ( field1, field2, field3... ) values ( value1, value2, value3 )
select
1
2
3
4
5select <column_name>
form <table_name>
[where condition1 [AND [OR]] condition2]
[limit M]
[offset N]update
1
2UPDATE <table_name> SET field1=new-value1, field2=new-value2
[WHERE Clause]delete
1
DELETE FROM table_name [WHERE Clause]
like子句
union
1
2
3
4
5
6
7SELECT expression1, expression2, ... expression_n
FROM tables
[WHERE conditions]
UNION [ALL | DISTINCT]
SELECT expression1, expression2, ... expression_n
FROM tables
[WHERE conditions];order by
1
2SELECT field1, field2,...fieldN table_name1, table_name2...
ORDER BY field1, [field2...] [ASC [DESC]]group by
1
2
3
4SELECT column_name, function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name;WITH ROLLUP
- coalesce
- inner join
- left join
- right join
- null处理
- regexp
- transaction
- ACID
- 事务控制语句
- 事务隔离级别
- InnoDB支持事务
- alter命令
- 索引
- 类别
- 优缺点
- 三种创建方式
- 删除索引
- 使用alter创建索引
- alter创建删除主键
- 主键和索引的区别
- 显示索引信息
- mysql临时表
- 特点:只存在于当前链接,断开即销毁
- 创建
- 删除
- mysql如何复制表
- mysql序列使用
- 重置序列
- 设置序列开始值
- 处理重复数据
- 防止出现重复数据
- 统计重复数据
- 删除重复数据
- sql注入
- 如何防止
- 利用like注入
- 导出数据
- 导入数据
- mysql函数
- mysql运算符
使用PyCharm来做Git合并工具(Mac)
引子
昨天才第一次知道有mergetool这种东西,于是今天立马就上手试了试。对于Git的使用,个人偏爱敲命令行,但是命令行下遇到冲突就很尴尬。冲突少的话,直接vim很快,冲突一多就很郁闷了。所以,我觉得mergetool还是蛮有用的。本着不花钱的原则,今天尝试了几个免费的工具,如fileMerge,meld,diffMerge,怎么说呢,没有一款像当初第一次用SourceTree那样,一下就能抓住我的心(颜狗)。于是,我开始怀念之前WebStorm中的冲突解决,深得我心。再然后呢,我就想直接设置WebStorm来作为mergetool了。可是,我的教育版证书也就还有一个月就过期了(怀念大学),再次本着不想花钱的原则,选择了JetBrains家的另一个IDE,PyCharm CE,毕竟社区版,真的不花钱。然后鼓捣鼓捣就用上了,废话不讲了,上配置。
配置
- 下载个PyCharm CE
- 编辑Git的配置文件
1
$ vim $home/.gitconfig
- 把下面的配置粘进去
1
2
3
4
5
6
7
8
9
10
11
12[mergetool]
keepBackup = false
prompt = false
[merge]
tool = charm
[mergetool "charm"]
cmd = "/Applications/PyCharm\\ CE.app/Contents/MacOS/pycharm" merge $(cd $(dirname "$LOCAL") && pwd)/$(basename "$LOCAL") $(cd $(dirname "$REMOTE") && pwd)/$(basename "$REMOTE") $(cd $(dirname "$BASE") && pwd)/$(basename "$BASE") $(cd $(dirname "$MERGED") && pwd)/$(basename "$MERGED")
trustExitCode = true
[diff]
tool = charm
[difftool "charm"]
cmd = "/Applications/PyCharm\\ CE.app/Contents/MacOS/pycharm" diff $(cd $(dirname "$LOCAL") && pwd)/$(basename "$LOCAL") $(cd $(dirname "$REMOTE") && pwd)/$(basename "$REMOTE") - 保存退出
- 使用
1
2$ git mergetool
$ git difftool
结
- 启动速度超慢有没有。。。果然颜值和效率不能兼得嘛?
- JetBrains官网给出的教程里说让我们
Create Launcher Script
,我没用这种方法,因为用这种方法要事先启动PyCharm,而且一执行$ git mergetool
就会立即收到exitcode。那个启动脚本是python写的,不知道能不能通过修改那个启动脚本来让它正常。 "/Applications/PyCharm\\ CE.app/Contents/MacOS/pycharm"
这里的空格一定要用双反来转义。