1. 复制表结构 + 表数据
    Mysql> create tables t2 like t1;
    Mysql> insert into t2 select * from t1;
  2. mysql 索引
    a、Alert Table 用来创建普通索引、Unique 唯一索引 (当前列数值不可重复) 或 Primary Key 主键索引
    Mysql> alter table table_name add index index_name(column_list);
    Mysql> alter table table_name add Unique(column_list);
    Mysql> alter table table_name add Primary Key(column_list);

    b、creat index (不可处理主键索引)
    Mysql> create index index_name on table_name(column_list);
    Mysql> create Unique index index_name on table_name(column_list);

    c、drop index(不可处理主键索引)
    Mysql> drop index index_name on table_name;

    d、alter table drop
    Mysql> alter table table_name drop index index_name;
    Mysql> alter table table_name drop primary key;

  3. mysql 视图
    创建视图 (视图可根据主表实时更新)
    Mysql> create view v_t1 as select * from t1 where id>4 and id <11;
    Mysql> show tables;
    Mysql> show create view v_t1;
    Mysql> drop view v_t1;
  4. Mysql 内置函数
    concat ("string1","string2") // 链接字符串
    lcase(STRING) // 转换小写
    ucase(string) // 转换大写
    length(string) //string 长度
    ltrim(string) // 去除 string 前面空格
    rtrim(string) // 去除 string 后面空格
    repeat(string,count) // 重复 string count 次
    replace(str,search_str,replace_str) //str 中用 replace_str 替换 search_str
  5. mysql 预处理语句
    设置 stmt1 预处理,传递一个数据作为 where 判断条件
    Mysql> prepare stmt1 from 'select * from t1 where id>?';
    设置一个变量
    Mysql> set @i=5;
    执行 stmt1 预处理
    Mysql> execute stmt1 using @i;
    删除预处理 stmt1
    Mysql> drop prepare stmt1;
  6. mysql 事务处理 (Engine=MyISAM 表引擎不支持事务机制)
    查看表引擎是否支持
    Mysql> show create table t1;
    设置表引擎为 innodb
    Mysql> alter table t1 engine=innodb;
    关闭自动提交功能
    Mysql> set autocommit=0;
    查看当前 autocommit 设置
    Mysql> select @@autocommit;
    提交
    Mysql> commit;
    从表 t1 中删除了一条记录
    Mysql> delete from t1 where id =11;
    此时做一个 p1 还原点
    Mysql> savepoint p1;
    再次从表 t1 中删除一条记录
    Mysql> delete from t1 where id =10;
    再次做一个 p2 还原点
    Mysql> savepoint p2;
    此时恢复到 p1 还原点,当然后面 p2 这些还原点自动失效
    Mysql> rollback to p1;
    退回到最原始的还原点
    Mysql>roolback;
  7. Mysql 存储 (批量处理)
    例子:创建存储 P1, 创建 100 个用户;
    Mysql> \d // 执行 “;” 临时替换为 “//”
    Mysql> create proceduce p1()
    ->begin
    ->set @i=1;
    ->while @i<100 do
    ->insert into t1(name) value(concat("user",@i));
    ->set @i=@i+1;
    ->end while;
    ->end//
    Mysql> \d ;
    查看存储
    Mysql> show procedure status\G
    Mysql> show create procedure p1\G
    执行
    Mysql> call p1();
  8. Mysql 触发器
    修改 delimiter 为 //
    Mysql> \d // 
    例子:创建触发器 tg1,当向 t1 表插入数据时,t2 表也被插入数据
    Mysql> create trigger tg1 before insert on t1 for each row
    ->begin
    ->insert into t2(name) values(new.name);
    ->end//
    Mysql> \d ;
    查看触发器
    Mysql> show triggers;
    删除触发器
    Mysql> drop trigger tg1;
    创建触发器 tg2,当向 t1 表删除数据时,t2 表也被删除数据
    Mysql> create trigger tg2 before delete on t1 for each row
    ->begin
    ->delete from t2 where name=old.name;
    ->end//

    创建触发器 tg3,当向 t1 表更新数据时,t2 表也被更新数据
    Mysql> create trigger tg3 before update on t1 for each row
    ->begin
    ->update t2 set name=new.name where name=old.name;
    ->end//

  9. 重排 auto_increment
    Mysql 数据库自动增长的 ID 恢复重新排序
    Mysql> alter table tablename auto_increment = 1;

    Other:
    联合查询
    Mysql> select * from t1 union select *from t2
    快速删除
    Mysql> truncate table tablename;

Mysql 操作技巧的更多相关文章

  1. (转)防止人为误操作MySQL数据库技巧一例

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://oldboy.blog.51cto.com/2561410/1321061 防止人 ...

  2. 您的项目引用了最新实体框架;但是,找不到数据链接所需的与版本兼容的实体框架数据库 EF6使用Mysql的技巧

    转载至: http://www.cnblogs.com/Imaigne/p/4153397.html 您的项目引用了最新实体框架:但是,找不到数据链接所需的与版本兼容的实体框架数据库 EF6使用Mys ...

  3. mysql操作1

    一.连接MYSQL.格式: mysql -h主机地址 -u用户名 -p用户密码1.连接到本机上的MYSQL.首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root - ...

  4. 用Excel做出比肩任务管理软件的操作技巧

    用Excel做出比肩任务管理软件的操作技巧 在项目管理中,网上有各种各样的工具可以选择,到底用哪个,曾一度困扰着我.我是一个有轻度强迫症的人,总是喜欢试用各种各样的系统,以比较他们之间的不同,试图选择 ...

  5. Mysql操作初级

    Mysql操作初级 本节内容 数据库概述 数据库安装 数据库操作 数据表操作 表内容操作 1.数据库概述 数据库管理系统叫做DBMS 1.什么是数据库 ? 答:数据的仓库,如:在ATM的示例中我们创建 ...

  6. python学习道路(day12note)(mysql操作,python链接mysql,redis)

    1,针对mysql操作 SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass'); 设置密码 update user set password ...

  7. 学习笔记:MySQL操作初步

    对数据库的操作:SQL语言 一:SQL:Structured Query Language,结构化查询语言! 二:DDL:Data Definition Language,数据定义语言 三:DML:D ...

  8. ecshop的Mysql操作类

    摘要,这是直接摘抄的ecshop的mysql操作类:不过他这里的缓存是用的文件缓存,我们如果想直接使用,可以替换成memcache的或者redis的! <?php /** * ECSHOP MY ...

  9. MySQL常用技巧

    1.查看MySQL版本信息: 1,登上 mysql>status; 2,登上 mysql>select version(); 3,登上 mysql> select @@version ...

随机推荐

  1. net core 端口设置

    在supervisor的启动配置里面增加环境变量: environment=ASPNETCORE_URLS='http://*:5001'

  2. linux中mariadb的安装

    在Linux中mariaDB的安装 MariaDB其实就是MySQL的分支,是为了应对MySQL的即将的闭源风险所产生的. Linux系统中软件包的格式为mysql.rpm格式. 通过yum去安装 L ...

  3. ~/.bashrc与/etc/profile的区别

    ~/.bashrc:该文件包含专用于某个用户的bash shell的bash信息,当该用户登录时以及每次打开新的shell时,该文件被读取. /etc/profile中设定的变量(全局)的可以作用于任 ...

  4. PHP之位运算符

    使用场景: 1) 判断奇数偶数 ; $i < ; $i++) { ){ echo $i.PHP_EOL; } } //输出所有奇数 2)快速修改状态 $status1 = ; $status2 ...

  5. Notepad++快捷使用

    用Notepad++写代码,要是有一些重复的代码想copy一下有木有简单的方法呢,确实还是有的不过也不算太好用.主要是应用键盘上的 Home 键 和 End 键.鼠标光标停留在一行的某处,按 Home ...

  6. 【Python3练习题 025】 一个数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同

    [Python练习题 025] 一个5位数,判断它是不是回文数.即12321是回文数,个位与万位相同,十位与千位相同 x = input('请输入任意位数的数字:') if x == x[::-1]: ...

  7. C#复习笔记(4)--C#3:革新写代码的方式(用智能的编译器来防错)

    用智能的编译器来防错 本章的主要内容: 自动实现的属性:编写由字段直接支持的简单属性, 不再显得臃肿不堪: 隐式类型的局部变量:根据初始值推断类型,简化局部变量的声明: 对象和集合初始化程序:用一个表 ...

  8. Bootstrap知识记录:排版样式

    ---恢复内容开始--- 一.页面排版Bootstrap 提供了一些常规设计好的页面排版的样式供开发者使用.1.页面主体Bootstrap 将全局font-size 设置为14px,line-heig ...

  9. K8S集群 NOT READY的解决办法 1.13 错误信息:cni config uninitialized

    今天给同事 一个k8s 集群 出现not ready了 花了 40min 才搞定 这里记录一下 避免下载 再遇到了 不清楚. 错误现象:untime network not ready: Networ ...

  10. 牛客练习赛13F m皇后

    题目链接:https://ac.nowcoder.com/acm/contest/70/F 题目大意: 略 分析: 可以分成四步计算冲突:水平方向,垂直方向,左斜线方向,右斜线方向.只要会处理水平方向 ...