小墨の博客

梦想需要付诸行动,否则只能是梦

MySQL相关笔记[总结]


MYSQL根据数据库中的某一个字段进行排序

表名为test,sql语句如下:

select * from test order by `order` desc

注:

1.根据order降序排列,去掉末尾的desc就是升序

2.order为关键字,所以字段order需要用反引号括起来,不然报错



mysql自增长主键,删除数据后,将主键顺序重新排序

处理方法的原理:删除原有的自增ID,重新建立新的自增ID。执行代码后主键增长恢复正常。

常规代码如下:

1,删除原有主键:

ALTER TABLE `table_name` DROP `id`;

2,添加新主键字段:

ALTER TABLE `table_name` ADD `id` int NOT NULL FIRST;

3,设置新主键:

ALTER TABLE `table_name` MODIFY COLUMN `id` int NOT NULL AUTO_INCREMENT,ADD PRIMARY KEY(id);

参考:https://www.cnblogs.com/jianshuai520/articles/8657558.html



MySQL将多张表合并为一张新表

CREATE TABLE fzh
select * from fz1
UNION ALL
select * from fz2

UNION与UNION ALL的区别:

1、对重复结果的处理:UNION在进行表链接后会去重,UNION All不会。

2、对排序的处理:Union将会按照字段的顺序进行排序;UNION ALL只是简单的将两个结果合并后就返回。

UNION ALL 要比UNION效率高,所以,如果可以确认合并的两个结果集中不包含重复数据且不需要排序时的话,那么就使用UNION ALL。


例如:

CREATE TABLE duogeyiyuan SELECT * from huzhou UNION ALL SELECT * FROM jiaxing UNION ALL SELECT * FROM jinhua UNION ALL SELECT * FROM lishui UNION ALL SELECT * FROM ningbo UNION ALL SELECT * FROM quzhou UNION ALL SELECT * FROM shaoxing UNION ALL SELECT * FROM taizhou UNION ALL SELECT * FROM wenzhou UNION ALL SELECT * FROM zhoushan

参考:https://www.cnblogs.com/Lengjie/p/9610788.html



MySql获取数据库中所有表的名称(固定格式)

SELECT table_name FROM information_schema.TABLES;


mysql 快速导入大SQL文件

进入mysql

mysql -u root -p

创建数据库

CREATE DATABASE 数据库名;

设置参数

set sql_log_bin=OFF;//关闭日志
set autocommit=0;//关闭autocommit自动提交模式

使用数据库

use 数据库名;

开启事务

START TRANSACTION;

引入SQL文件

source 文件的路径;

成功后事务提交 

COMMIT;


张小弟之家

本文链接:
文章标题:

本站文章除注明转载/出处外,均为原创,若要转载请务必注明出处。转载后请将转载链接通过邮件告知我站,谢谢合作。本站邮箱:admin@only4.work

尊重他人劳动成果,共创和谐网络环境。点击版权声明查看本站相关条款。

    发表评论:

    搜索
    本文二维码
    标签列表
    站点信息
    • 文章总数:503
    • 页面总数:20
    • 分类总数:92
    • 标签总数:207
    • 评论总数:58
    • 浏览总数:211726

    | | |
    | |  Z-Blog PHP