一些SQL命令(不断更新,我总记不住,哭)

List

建库建表
GBK: CREATE DATABASE `test_db1` DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;
UTF-8: CREATE DATABASE `test_db2` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; CREATE TABLE `test_table` (
`id` bigint(20) unsigned NOT NULL COMMENT '主键',
`gmt_create` datetime NOT NULL COMMENT '创建时间',
`content` varchar(20) DEFAULT NULL COMMENT '说明',
PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='test create table'
表的重命名(不区分大小写)
rename table haha to contestInfo;  
列的重命名
mysql中:
alter table 数据表名 change 原列名 新列名 新列类型;
oracle中:
alter table 数据表名 rename 原列名 to 新列名;
编码
修改数据库编码 ALTER DATABASE `test` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin
修改表编码 ALTER TABLE `category` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin
修改字段编码 ALTER TABLE `test` CHANGE `dd` `dd` VARCHAR( 45 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL
修改结构
    mysql>
#表position增加列test
alter table position add(test char(10));
#表position修改列test
alter table position modify test char(20) not null;
#表position修改列test默认值
alter table position alter test set default 'system';
#表position去掉test默认值
alter table position alter test drop default;
#表position去掉列test
alter table position drop column test;
#表depart_pos删除主键
alter table depart_pos drop primary key;
#表depart_pos增加主键
alter table depart_pos add primary key PK_depart_pos (department_id,position_id);
添加删除索引
show index from tblname;

ALTER TABLE table_name ADD INDEX index_name (column_list)
ALTER TABLE table_name ADD UNIQUE (column_list)
ALTER TABLE table_name ADD PRIMARY KEY (column_list) CREATE INDEX index_name ON table_name (column_list)
CREATE UNIQUE INDEX index_name ON table_name (column_list) DROP INDEX index_name ON talbe_name
ALTER TABLE table_name DROP INDEX index_name
ALTER TABLE table_name DROP PRIMARY KEY
大批量删除
delete from contestinfo where `id`<3000;
select sleep(3);
delete from contestinfo where `id`<6000;
select sleep(3);
delete from contestinfo where `id`<9000;
...
binlog相关
备库上执行一定要考虑事务是否写binlog
set session SQL_LOG_BIN = 0; //关闭,不写binlog
set session SQL_LOG_BIN = 1; //开启,写binlog,default mysql>show master status; 查看当前正在使用的二进制日志
mysql>show binlog events in'mysql-bin.000001'; 查看二进制日志记录的事件[from position]
mysql>flush logs; 二进制日志滚动
mysql>show binary logs; 查看所有二进制日志
mysql>purge binary logs to 'mysql-bin.000003'; 删除二进制日志 Master_Log_File & Read_Master_Log_Pos:下一个传输的主日志信息。
Relay_Master_Log_File & Exec_Master_Log_Pos:下一个执行的主日志信息。
Relay_Log_File & Relay_Log_Pos:下一个执行的中继日志信息。 中继日志出错:
mysql> CHANGE MASTER TO
MASTER_LOG_FILE='<Relay_Master_Log_File>',
MASTER_LOG_POS=<Exec_Master_Log_Pos>;
mysql> START SLAVE; stop slave ;
reset slave [ALL] relay logs,file and post,ALL will clear ip,port,user,pass;
CHANGE MASTER TO
MASTER_HOST='xxx.xxx.xxx.xxx',
MASTER_PORT=xxxx, 切记int
MASTER_USER='xxxxx',
MASTER_PASSWORD='xxxxx',
MASTER_LOG_FILE='mysql-bin.xxxxxx',
MASTER_LOG_POS=xxxxx; 切记int
start slave;
select相关
查询时强制区分大小写
SELECT * FROM U WHERE binary name LIKE 'a%'; 行号
SELECT
@row := @row + 1 as row,
t.*
FROM some_table t, (SELECT @row := 0) r 截取
SELECT
SUBSTRING_INDEX(phone,'-',2) AS PNumber,
SUBSTRING_INDEX(phone,'-', -1) AS Ext,
phone
FROM tb_user WHERE ucid=271338;
+--------------+------+-------------------+
| PNumber | Ext | phone |
+--------------+------+-------------------+
| 010-88888882 | 5612 | 010-88888882-5612 |
+--------------+------+-------------------+ 拼接
UPDATE tb_user SET
phone=CONCAT( SUBSTRING_INDEX( phone,'-',2 ), '-', '1234' )
WHERE ucid = 271338;
+--------------+------+-------------------+
| PNumber | Ext | phone |
+--------------+------+-------------------+
| 010-88888882 | 1234 | 010-88888882-1234 |
+--------------+------+-------------------+ group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符'])
select id,group_concat(name order by name desc Separator ';') from aa group by id;
+------+---------------------------------------+
| id| group_concat(name order by name desc) |
+------+---------------------------------------+
|1 | 20;20;10 |
|2 | 20|
|3 | 500;200|
+------+---------------------------------------+
3 rows in set (0.00 sec)
数据库备份和恢复
mysqldump -h127.0.0.1 -uroot -P$MYSQL_PORT --default-character-set=utf8 -q -e --single-transaction --master-data=2 --result_file=/u01/bak/dump_${DB_NAME}.sql -B $candidates

content:
-- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000050', MASTER_LOG_POS=349656998;
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `test_db_1` /*!40100 DEFAULT CHARACTER SET utf8 */;
USE `test_db_1`; -n, --no-create-db
-t, --no-create-info
-d, --no-data
-B, --databases
-e, --extended-insert Use multiple-row INSERT syntax that include several VALUES lists.
-q, --quick Don't buffer query, dump directly to stdout.
--add-drop-database FALSE
--add-drop-table TRUE
--add-drop-trigger FALSE
--add-locks TRUE
--default-character-set=name utf8
--tz-utc TRUE SET TIME_ZONE='+00:00' at top of dump
--result_file 输出结果到
--single-transaction --master-data=2组合使用,保留位点 mysql -h localhost -P 6688 -u root -ptest database< test_db.sql

【MySQL】探究之常用SQL的更多相关文章

  1. mysql学习笔记—常用sql函数

    SQL 拥有很多可用于计数和计算的内建函数. SQL Aggregate 函数 SQL Aggregate 函数计算从列中取得的值,返回一个单一的值. 有用的 Aggregate 函数: AVG() ...

  2. mysql学习笔记—常用sql语句

    sql注意事项: SQL 对大小写不敏感:SELECT 与 select 是相同的 某些数据库系统要求在每条 SQL 语句的末端使用分号. CREATE DATABASE CREATE DATABAS ...

  3. MySql概念及常用Sql

    MySQL是一个关系型数据库管理系统 MySQL启动命令: 本机mysql地址D:\pefession\mySql\mysql-8.0.12-winx64\bin 启动服务:net start mys ...

  4. mysql用户管理 常用sql语句 mysql数据库备份恢复

     

  5. MySQL的一些常用sql函数(持续更新。。)

    1. 字符串拼接函数 :CONCAT(str1,str2,...) SELECT CONCAT('AAA','BBB') STR; //AAABBB 2. 判断是否为null,为null就指定另外一个 ...

  6. Mysql 常用 SQL 语句集锦

    Mysql 常用 SQL 语句集锦 基础篇 //查询时间,友好提示 $sql = "select date_format(create_time, '%Y-%m-%d') as day fr ...

  7. Mysql 常用 SQL 语句集锦 转载(https://gold.xitu.io/post/584e7b298d6d81005456eb53)

    Mysql 常用 SQL 语句集锦 基础篇 //查询时间,友好提示 $sql = "select date_format(create_time, '%Y-%m-%d') as day fr ...

  8. 常用SQL操作(MySQL或PostgreSQL)与相关数据库概念

    本文对常用数据库操作及相关基本概念进行总结:MySQL和PostgreSQL对SQL的支持有所不同,大部分SQL操作还是一样的. 选择要用的数据库(MySQL):use database_name; ...

  9. 常用sql语句整理:mysql

    ## 常用sql语句整理:mysql1. 增- 增加一张表```CREATE TABLE `table_name`(  ...  )ENGINE=InnoDB DEFAULT CHARSET=utf8 ...

随机推荐

  1. subplot demo

    Y=[6484.05190614446 3479.60374683749 2326.82521799362 862.207727785871 423.711173743815 299.23540931 ...

  2. cellular neural networks(CNN)原理以及应用

    一.CNN的原理 1.CNN的思想: (1)借鉴了hopfield神经网络和CA a.hopfield的非线性动力学(主要是用于优化问题,比如旅行商问题等NP问题),Hopfield的能量函数的概念, ...

  3. guava--Joiner、Splitter、MapJoinner、MapSplitter

    Joiner: List<String> stringList = new ArrayList<String>(); stringList.add("aa" ...

  4. 【Android】Android清除本地数据缓存代码

    最近做软件的时候,遇到了缓存的问题,在网上看到了这个文章,感觉不错.分享给大家看看 文章出处:http://www.cnblogs.com/rayray/p/3413673.html /* * 文 件 ...

  5. 爱壁纸 站立会议(六)--Spring阶段总结会议

    爱壁纸 站立会议(六)--Spring阶段总结会议 一.会议时间 2014年4月15日 星期三 21:00-21:20 今天是spring阶段最后一天,大家都对这一星期的任务概况做出了总结所以时间稍微 ...

  6. 读取配置文件 PropertyPlaceholderConfigurer 的配置与使用

    public class SpringPropertyConfigurer extends PropertyPlaceholderConfigurer { private static Map< ...

  7. 2016年发布APASVO-p波震相自动拾取分析

    Why automatic attractive? large amount of seismic data ; if manually,it depends om experience of ana ...

  8. .net 获取AppDomain创建了多少

    partial class HttpBrowser { public static string IsolateCall(PageContentHandler pHandler) { Contract ...

  9. Python的平凡之路(3)

     一.函数基本语法及特性 面向对象:(华山派)—类 —class 面向过程:(少林派)—过程 —df 函数式编程:逍遥派    —函数— df 一般的,在一个变化过程中,如果有两个变量x和y,并且对于 ...

  10. sql整型字段模糊查询

    select count(*) cnt from vhuiy where CAST(id as text) like'%12%'--id为int类型 更详细的链接:http://www.studyof ...