★MySQL一些很重要的SQL语句
【mysqldumpslow】
-s 排序选项:c 查询次数 r 返回记录行数 t 查询时间
-t 只显示top n条查询
mysqldumpslow -s r -t 10000 slow-queries.log >analysis.log
【SQL缓存…】
query-cache
【PHP中mysql相关函数】
mysql_list_tables () 表查询函数,类似 mysql_query () 函数
mysql_fetch_field () 字段信息函数,返回句柄
Name 字段的名称
Table 字段所属数据表的名称
Type 字段的类型
max_length 字段的最大长度
not_null 字段是否不能为空,是,则这一项的值为 1
primary_key 字段是否为主键,是,则这一项的值为 1
unique_key 字段是否为 unique 键,是,则这一项的值为 1
multiple_key 字段是否不为 unique 键,是,则这一项的值为 1
Numeric 字段是否为数字型,是,则这一项的值为 1
Blob 字段是否为 blob 型,是,则这一项的值为 1
Unsigned 数字型的字段是否为 unsigned 的,是,则这一项的值为 1
Zerofill 数字型的字段是否为 zerofilled 的,是,则这一项的值为 1
【 MySQL执行一次update更改多条数据】
表结构:myid,name.
UPDATE tbName SET name = CASE myid WHEN 2 THEN 'Hello' WHEN 3 THEN 'world' WHEN 8 THEN 'Jerry' END WHERE myid IN (2,3,8) .
这条语句相当于执行 3条update 语句:
① update tbName set
name='Hello' where myid=2,
② update tbName set
name='world' where myid=3,
③ update tbName set
name='Jerry' where myid=8,
但是效率会提高!
【mysql 交换/移动列的顺序,2015年5月19日 12:39:19】
alter table 表名 modify 字段名 字段类型 after 字段
举例
alter table user_info modify user_name varchar(10) after user_id;
将user_name字段移到user_id后面
如果想移到最前面:
alter table user_info modify user_id char(8) first;//将user_id移到最前面!!
alter table qg_weishang modify phone varchar(20) NOT NULL DEFAULT '' COMMENT '手机号码' after code;
--------------------------------------------------------------------------------------
【Mysql导出某个表的数据并且加查询条件】
mysql导出数据为sql脚本使用mysqldump命令,例如:
mysqldump -uroot -p 123456 test > test.sql 导出test数据库数据到test.sql文件
导出单个表的数据在数据库名后面加空格写上表名,例如导出test数据库users表数据:
mysqldump -uroot -p 123456 test users> test.sql
如果要导出某个表表的一部分数据呢?
我们可以加上--where参数,可以限制导出数据的条件,例如我们要导出test数据库score表(id,user_id,score)的score字段大于等于60的数据:
mysqldump -uroot -p123456 test score --where="score>=60" > test.score.sql
导出一个表的部分字段到一个文件:
mysql -h192.168.x.x -uroot -e "set names 'utf8';select realname,card_number,company_name from Database.name_v where type=2 and status=1" > ~/name_v.sql -p
《案例:使用where条件导出某个表的部分数据》
cd ~/backdb/temp_table/
#自定义输入要导出的表名
echo "Please Enter table name:"
read tbname
#定义where条件
echo "Please Enter Where TiaoJian"
read tiaojian
#定义文件名
before_filename="${tbname}_where.sql"
#备份导出数据库
mysqldump -h localhost -uroot -p123456 qgzs $tbname --where="${tiaojian}" > ${before_filename}
--------------------------------------------------------------------------------------
【加索引】
ALTER TABLE qg_goods ADD INDEX IDX_ATTENTION_COUNT (ATTENTION_COUNT) ;
--------------------------------------------------------------------------------------
【MySQL获取group by 的记录总数,使用 SELECT COUNT(DISTINCT field) FROM tbname】
【添加和修改字段】
alter table qg_tag MODIFY tag_sort int(11); //修改一个字段的类型
ALTER TABLE qg_goods_bargain_count ADD is_url_matching tinyint(1) NOT NULL DEFAULT 1 COMMENT 'URL是否匹配'; //添加字段
【修改字段名,或者字段备注等等信息】
alter table qg_goods CHANGE create_time create_time int(11) NOT NULL DEFAULT 0 COMMENT '最后一次入库时间(原:发布时间)';
alter table qg_goods CHANGE last_create_time first_create_time int(11) NOT NULL
DEFAULT 0 COMMENT '第一次入库时间';
mysql 重命名表
RENAME TABLE tb_name TO new_tb_name, tb_name2 TO new_tb_name2, …
MySQL 添加索引
1.添加PRIMARY KEY(主键索引)
mysql>ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` )
2.添加UNIQUE(唯一索引)
mysql>ALTER TABLE `table_name` ADD UNIQUE (
`column`
)
3.添加INDEX(普通索引)
mysql>ALTER TABLE `table_name` ADD INDEX index_name ( `column` )
4.添加FULLTEXT(全文索引)
mysql>ALTER TABLE `table_name` ADD FULLTEXT ( `column`)
5.添加多列索引
mysql>ALTER TABLE `table_name` ADD INDEX index_name ( `column1`, `column2`,
`column3` )
【qgzs中的表用到的key索引,应该和index一样的...】
ALTER
TABLE qg_goods ADD KEY last_create_time_gid_x( `last_create_time_gid` )
------------------------------------------------------------------
自定义导出某些数据(加where条件):
/usr/local/mysql/bin/mysqldump
-h qwbcgmirror.mysql.rds.aliyuncs.com -u** -p** db_name tb_name
--where="id<10" > aa.sql
------------------------------------------------------------------
【DCL】show
databases 看所有库;show tables 看所有表;desc 看表结构;show variables配置文件中的变量
【整型】TINYINT,SMALLINT,MEDIUMINT,INT,BIGINT
【索引】主键索引、唯一索引(unique)、常规索引(index/key 是同义词)、全文索引(fulltext类型索引, MyISAM 表类型使用,只有在varchar char text文本字符串上使用)
【引擎】
【SQL
like查找】%表示0个或多个字符构成的字符串,_表示单个字符。以PHP100开头:'PHP100%' ,PHP100结束:'%PHP100' ,包含PHP100:'%PHP100%'
★MySQL一些很重要的SQL语句的更多相关文章
- 如何查找MySQL中查询慢的SQL语句
如何查找MySQL中查询慢的SQL语句 更多 如何在mysql查找效率慢的SQL语句呢?这可能是困然很多人的一个问题,MySQL通过慢查询日志定位那些执行效率较低的SQL 语句,用--log-slow ...
- 如何查找MySQL中查询慢的SQL语句(转载)
转载自https://www.cnblogs.com/qmfsun/p/4844472.html 如何在mysql查找效率慢的SQL语句呢?这可能是困然很多人的一个问题,MySQL通过慢查询日志定位那 ...
- 何在mysql查找效率慢的SQL语句?
如何在mysql查找效率慢的SQL语句呢?这可能是困然很多人的一个问题,MySQL通过慢查询日志定位那些执行效率较低的SQL 语句,用--log-slow-queries[=file_name]选项启 ...
- Mysql性能优化一:SQL语句性能优化
这里总结了52条对sql的查询优化,下面详细来看看,希望能帮助到你 1, 对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2,应尽量避免在 w ...
- MySQL的EXPLAIN命令用于SQL语句的查询执行计划
MySQL的EXPLAIN命令用于SQL语句的查询执行计划(QEP).这条命令的输出结果能够让我们了解MySQL 优化器是如何执行SQL 语句的.这条命令并没有提供任何调整建议,但它能够提供重要的信息 ...
- Mysql中 查询慢的 Sql语句的记录查找
Mysql中 查询慢的 Sql语句的记录查找 慢查询日志 slow_query_log,是用来记录查询比较慢的sql语句,通过查询日志来查找哪条sql语句比较慢,这样可以对比较慢的sql可以进行优化. ...
- MySQL高级(进阶)SQL语句
MySQL高级(进阶)SQL语句 目录 MySQL高级(进阶)SQL语句 一.实例准备--制表 1. 表1(商店区域表) 2. 表2(商店销售表) 3. 表3(城市表) 4. 表4(total_sal ...
- MySQL mysqlbinlog解析出的SQL语句被注释是怎么回事
MySQL mysqlbinlog解析出的SQL语句被注释是怎么回事 一网友反馈使用mysqlbinlog解析出的二进制日志中的内容中,有些SQL语句有#注释的情况,这个是怎么回事呢?我们通过实验 ...
- MySQL优化(五) SQL 语句的优化 索引、explain
一.索引 1.分类 (1)主键索引:当一张表的某个字段设置为主键时,该字段就是主键索引: (2)唯一索引:索引列中的值必须是唯一的,但是允许为空值(可以存在多个null): (3)普通索引:基本索引类 ...
随机推荐
- Java进阶篇(三)——Java集合类
集合可以看作一个容器,集合中的对象可以很容易存放到集合中,也很容易将其从集合中取出来,还可以按一定的顺序摆放.Java中提供了不同的集合类,这些类具有不同的存储对象的方式,并提供了相应的方法方便用户对 ...
- 自己搭建CA颁发证书做https加密网站
192.168.10.187 CA服务器 192.168.10.190 web服务器 (1)搭建CA cd /etc/pki/CA 在这个目录下创建serial和index.txt两个文件 echo ...
- linux_RAID
什么是RAID? 磁盘阵列,把多个磁盘组合成一个磁盘组,在逻辑上看起来就是一块大的磁盘,提供单个物理磁盘的存储量和更高的存储性能,同时提供不同级别的冗余备份的一种技术,不同的RAID技术对应不同级别 ...
- sqlserver2008客户端设置主键自增
是标识改为是
- mybatis自动生成java代码
SSM框架没有DB+Record模式,写起来特别费劲,只能用下面的方法勉强凑合. 上图中,*.jar为下载的,src为新建的空白目录,.xml配置如下. <?xml version=" ...
- Node-debug方法
本文使用配置node-inspector配合chorme完成debug(编辑器使用SublimeText3). 1.用命令行进入安装node的目录,使用npm install -g node-insp ...
- 并发思考-actor和thread那个好点?
实验课题:测试actor和thread那个好? 实验方法:利用数据库连接池创建连接,交由线程去工作,在回收,看看程序运行状况. 实验步骤: 1.创建数据连接工具类: import java.sql.{ ...
- 监控mysql主从同步状态
在高并发网站架构中,MySQL数据库主从同步是不可或缺的,不过经常会发生由于网络原因或者操作错误,MySQL主从经常会出现不同步的情况,那么如何监控MySQL主从同步,也变成网站正常运行的重要环节. ...
- 主备(keepalived+nginx)
实验环境 系统: centos 6.9 mini 机器名 ip 虚拟ip kn1 192.168.126.10 kn2 ...
- JDK8 HashMap 源码解析
HashMap中数据结构 在jdk1.7中,HashMap采用数组+链表(拉链法).因为数组是一组连续的内存空间,易查询,不易增删,而链表是不连续的内存空间,通过节点相互连接,易删除,不易查询.Has ...