熟悉

我熟悉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常用操作汇编的更多相关文章

  1. mysql常用操作语句

    mysql常用操作语句 1.mysql -u root -p   2.mysql -h localhost -u root -p database_name 2.列出数据库: 1.show datab ...

  2. MySQL常用操作总结

    MySQL常用操作 前提条件:已安装MySQL. 学习目标:用一条sql语句写出A和B的剩余数量 AA表 BB表 以上为一道面试题,接下来由这道面试题来回顾一些数据库的基本操作. 登录MySQL su ...

  3. centos LAMP第四部分mysql操作 忘记root密码 skip-innodb 配置慢查询日志 mysql常用操作 mysql常用操作 mysql备份与恢复 第二十二节课

    centos  LAMP第四部分mysql操作  忘记root密码  skip-innodb 配置慢查询日志 mysql常用操作  mysql常用操作 mysql备份与恢复   第二十二节课 mysq ...

  4. Windows平台下MySQL常用操作与命令

    Windows平台下MySQL常用操作与命令 Windows平台下MySQL常用操作与命令,学习mysql的朋友可以参考下. 1.导出整个数据库 mysqldump -u 用户名 -p --defau ...

  5. MySQL常用操作2

    MySQL常用操作2 判断函数 IF(expr, value1, value2)  --  如果表达式expr为true,则返回value1,否则返回value2 IFNULL(value1, val ...

  6. MYSQL常用操作函数的封装

    1.mysql常用函数封装文件:mysql.func.php <?php /** * 连接MYSQL函数 * @param string $host * @param string $usern ...

  7. 第二篇 Mysql常用操作记录(转载)

    我们在创建网站的时候,一般需要用到数据库.考虑到安全性,建议使用非root用户.常用命令如下: 1.新建用户 //登录MYSQL@>mysql -u root -p@>密码//创建用户my ...

  8. Linux 笔记 - 第十五章 MySQL 常用操作和 phpMyAdmin

    博客地址:http://www.moonxy.com 一.前言 前面几章介绍了 MySQL 的安装和简单的配置,只会这些还不够,作为 Linux 系统管理员,我们还需要掌握一些基本的操作,以满足日常管 ...

  9. mysql常用操作及常见问题

    常用操作 mysql备份: --整库备份 docker exec 容器ID mysqldump -uroot -p密码 --databases 库名 > 库名.sql --仅导出表和数据 mys ...

随机推荐

  1. Swift5 语言指南(二十一) 嵌套类型

    通常创建枚举以支持特定类或结构的功能.类似地,定义纯粹在更复杂类型的上下文中使用的实用程序类和结构可能是方便的.为此,Swift允许您定义嵌套类型,从而在它们支持的类型定义中嵌套支持枚举,类和结构. ...

  2. poi 读取使用 Strict Open XML 保存的 excel 文档

    poi 读取使用 Strict Open XML 保存的 excel 文档 某项目有一个功能需要读取 excel 报表内容,使用poi读取时报错: 具体错误为: org.apache.poi.POIX ...

  3. socket练习:FTP

    FTP 练习收获: 1,类型转换 2,进度条实现: 3,print 输出不换行的方法: print输出 不换行的方法: 方法一: import sys   sys.stdout.write(" ...

  4. Python numpy 中 keepdims 的含义

    keepdims主要用于保持矩阵的二维特性 import numpy as np a = np.array([[1,2],[3,4]]) # 按行相加,并且保持其二维特性 print(np.sum(a ...

  5. (转)python WSGI框架详解

    原文:https://www.cnblogs.com/shijingjing07/p/6407723.html?utm_source=itdadao&utm_medium=referral h ...

  6. python特殊的数据类型

    lsit 列表是一种有序的数据集合,允许数据类型不一致! 1.定义:l=[1,"s",'2',True,u"您好"] 或者 l=list() 2.访问:l[0] ...

  7. Android:一个高效的UI才是一个拉风的UI(二)

    趁今晚老大不在偷偷早下班,所以有时间继续跟大伙扯扯UI设计之痛,也算一个是对上篇<Android:一个高效的UI才是一个拉风的UI(一)>的完整补充吧.写得不好的话大家尽管拍砖~(来!砸死 ...

  8. php获取全选checkbox多个值

    <form name="myform"  action="index2.php" method="post">          ...

  9. 高可用Hadoop平台-答疑篇

    1.概述 这篇博客不涉及到具体的编码,只是解答最近一些朋友心中的疑惑.最近,一些朋友和网友纷纷私密我,我总结了一下,疑问大致包含以下几点: 我学 Hadoop 后能从事什么岗位? 在遇到问题,我该如何 ...

  10. C/C++求职宝典21个重点笔记(常考笔试面试点)

    这是我之前准备找工作时看<C/C++求职宝典>一书做的笔记,都是一些笔试面试中常考的重点难点问题,但比较基础,适合初学者看. 1. char c = '\72'; 中的\72代表一个字符, ...