MySQL常用操作汇编
熟悉
我熟悉xxx,其实很多原来熟悉到能背的,如果长时间不用了几乎也就忘了。此时再说自己熟悉XXX就被认为是在吹牛B了,感觉不是很好。所谓温故而知新,对于天资不聪颖的,就是要在一遍一遍的复习实践中慢慢理解掌握、获取别人可能一天就就明白记住的事情。
表
查看建表语句
show create table table_name;
复制表
根据已有的表新建一张表,可以使用
CREATE TABLE new_table_name SELECT * FROM old_table_name;
如一张表为Person如下:
mysql> select * from Person;
+----+------------------+
| Id | Email |
+----+------------------+
| 1 | john@example.com |
| 2 | bob@example.com |
| 3 | john@example.com |
+----+------------------+
3 rows in set (0.00 sec)
进行复制操作
mysql> create table person_bakup select * from Person;
Query OK, 3 rows affected (0.00 sec)
Records: 3 Duplicates: 0 Warnings: 0
也可以通过查看建表语句,然后复制修改得到新表,然后使用
insert into new_table select * from old_table;
删除语句
删除语句中的条件有些限制比如
DELETE FROM table_name WHERE id in (select A.id from table_name A, table_name B where A.vala > B.vala and A.valb == B.valb)
如果把valb理解为部门id,把vala理解为工资,那么上述语句在能执行的情况下得到的效果为保留table_name中每个部门里工资最低的那个人得记录。但是真的去执行的话会报错,因为DELETE中的where好像不能直接写和正在删除那个表有关的条件(其实也可以理解,如果一边删一遍条件就会相应的变掉了),但其实我们只要更加没有删前的条件来执行语句,并不会产生这样的情况或者这样的需求。同过嵌套一层select可以达到这个目的:
DELETE FROM table_name WHERE id in (select * from (select A.id from table_name A, table_name B where A.vala > B.vala and A.valb == B.valb) X)
查询
别名
列别名
列别名可以用在order by, group by 和having子句中,但是不能用在where子句中,比如下面这样的sql会报错
select name as s from students where s = 'tkl'
Unknown column 's' in 'where clause'
列别名一般只是做一个名称统一工作,来返回给应用后台。因为实际列在不同查询中可能是通过不同途径得到的,也可能在不同的表中以不同的列名存在,而后台应用程序的特定程序语言实现的Model一般都是字段名称已经固定的,统一名称可以方便的做ORM。
表别名
表别名使用的比较多,第一它可大大的简化SQL语句,因为处于避免重名和其他的一些命名考虑,表名通常不会太短。第二它可以使得一些原本无法进行的查询得以执行,通常是做表自身连接操作,连接从语义上讲应该是两个表之间进行,如果同一张表进行自连接不采用别名,那么就还是认为只有一个表,从而发生错误。比如有一张成绩表score(id, name, score, class),现在要找出每个class中获得相同分数(只要分数重复了就可以)的那些人。使用别名可以得到如下sql语句
select A.* from score as A, score as B where A.class = B.class and A.score = B.score
这里没有使用显式的连接,在where中使用多个表,相当于是做了一次笛卡尔积,然后再根据条件筛选。
MySQL常用操作汇编的更多相关文章
- mysql常用操作语句
mysql常用操作语句 1.mysql -u root -p 2.mysql -h localhost -u root -p database_name 2.列出数据库: 1.show datab ...
- MySQL常用操作总结
MySQL常用操作 前提条件:已安装MySQL. 学习目标:用一条sql语句写出A和B的剩余数量 AA表 BB表 以上为一道面试题,接下来由这道面试题来回顾一些数据库的基本操作. 登录MySQL su ...
- centos LAMP第四部分mysql操作 忘记root密码 skip-innodb 配置慢查询日志 mysql常用操作 mysql常用操作 mysql备份与恢复 第二十二节课
centos LAMP第四部分mysql操作 忘记root密码 skip-innodb 配置慢查询日志 mysql常用操作 mysql常用操作 mysql备份与恢复 第二十二节课 mysq ...
- Windows平台下MySQL常用操作与命令
Windows平台下MySQL常用操作与命令 Windows平台下MySQL常用操作与命令,学习mysql的朋友可以参考下. 1.导出整个数据库 mysqldump -u 用户名 -p --defau ...
- MySQL常用操作2
MySQL常用操作2 判断函数 IF(expr, value1, value2) -- 如果表达式expr为true,则返回value1,否则返回value2 IFNULL(value1, val ...
- MYSQL常用操作函数的封装
1.mysql常用函数封装文件:mysql.func.php <?php /** * 连接MYSQL函数 * @param string $host * @param string $usern ...
- 第二篇 Mysql常用操作记录(转载)
我们在创建网站的时候,一般需要用到数据库.考虑到安全性,建议使用非root用户.常用命令如下: 1.新建用户 //登录MYSQL@>mysql -u root -p@>密码//创建用户my ...
- Linux 笔记 - 第十五章 MySQL 常用操作和 phpMyAdmin
博客地址:http://www.moonxy.com 一.前言 前面几章介绍了 MySQL 的安装和简单的配置,只会这些还不够,作为 Linux 系统管理员,我们还需要掌握一些基本的操作,以满足日常管 ...
- mysql常用操作及常见问题
常用操作 mysql备份: --整库备份 docker exec 容器ID mysqldump -uroot -p密码 --databases 库名 > 库名.sql --仅导出表和数据 mys ...
随机推荐
- Apache-通过CGI执行脚本
1.配置服务器,开启注释 vim /etc/httpd/conf/httpd.conf 292 # (You will also need to add "ExecCGI" to ...
- Spring Boot中使用Flyway来管理数据库版本
flyway是一个开源的数据库迁移工具.类似于数据库的版本控制工具.flyway的数据库修改文件默认放在resource下的db.migration文件夹中,以V{version_number}__{ ...
- 【Spark调优】:RDD持久化策略
[场景] Spark对RDD执行一系列算子操作时,都会重新从头到尾计算一遍.如果中间结果RDD后续需要被被调用多次,可以显式调用 cache()和 persist(),以告知 Spark,临时保存之前 ...
- 简单理解jQuery中$.getJSON、$.get、$.post、$.ajax用法
在WEB开发中异步请求方式普遍使用,ajax技术减少程序员的工作量,也提升用户交互体验.AJAX的四种异步请求方式都能实现基本需求,闲话不多说,直接切入正题. 1.$.getJSON $.getJSO ...
- JFrame、JPanel 、Layout开发的简单例子
写了Java这么久,居然发现想手写一个带网格袋布局的JFrame,还不记得怎么写,写了这么多代码真不敢说记得所有细节. 幸好,只要记清楚概念就能快速开发.首先,明确一下3种容器类的差别和用途: No. ...
- 《deep sort》复现过程
目录 1. 准备代码与数据 deep_sort开源代码 克隆到本地服务器 git clone https://github.com/nwojke/deep_sort.git 下载MOT16数据集(MO ...
- Android _关于fragment切换重新加载的解决分享给大家
在项目中需要进行Fragment的切换,一直都是用replace()方法来替换Fragment但是,这样会有一个问题 ,应该很多朋友都遇到过:每次切换的时候,Fragment都会重新实例化,也就是运行 ...
- 第一章-Javac编译器介绍
1.Javac概述 编译器可以将编程语言的代码转换为其他形式,如Javac,将Java语言转换为虚拟机能够识别的.class文件形式.而这种将java源代码(以.java做为文件存储格式)转换为cla ...
- JavaScript -- Window-Blur
-----030-Window-Blur.html----- <!DOCTYPE html> <html> <head> <meta http-equiv=& ...
- 基于HA机制的MyCat架构——配置HAProxy
HAProxy简介HAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种解决方案. HAProxy特别适用于那些负载特大的web站点,这些站 ...