MYSQL基础知识小盲区
MYSQL必会的知识
- 命令行 启动mysql: mysql -u用户名 -p密码
- 显示表中的各列详细信息: show columns form tablename 等价于 desc tablename
- 查看所有show命令: help show
- 查询数据时未使用排序,显示的结果是没有顺序意义的
- 去掉重复的行使用distinct: select distinct id from user
- limit关键字的使用: select * from user limit 5; 查询出不多于5行数据 select * from user limit 5,5; 从第五行数据开始查询,返回5条记录 (即5到10 的记录)
- 使用order by 进行排序,默认的是升序排列: select *from user order by age desc,name ; 按照年龄降序排列,年龄相同时按照姓名升序排列
- 查询name字段为null的记录: select * from user where name is null;
- 关键字 and 和 or,优先处理and,然后再处理or旁边的语句,并且每个只执行一次。
- 通配符: % 匹配一个或多个字符 select * from user where name='a%'; 查询所有name以a开头的记录 这里的查询条件区分大小写
- 查询条件为‘%’时 select * from user where name='%';不会匹配name为null的记录
- 通配符 “-” 只匹配一个字符
- mysql的正则表达式关键字 regexp: select *from user where age regexp '10' ; 查询所有年龄为10的记录
- 正则表达式符号“.” 一个点表示匹配任意一个字符 select * from user where age regexp '.0';查询出所有年龄为整10的记录,可以是10,20,30,等等。
- 就加入需要使用正则表达式去匹配.点这个符号,则需要转义,使用 \\. 去匹配
- 符号 ^ 的作用有两个:一个是表示指定串的开始,另一个是在集合中表示否定集合
- 符号 $ 的作用: 表达式的结束
- 拼接字符串使用关键字contact, contact(a,'(',b,')')
- RTrim(name) 去掉name这一列的右边的所有空格
- LTrim(name) 去掉name这一列的左边的所有空格
- Trim(name) 去掉name这一列的两边的全部空格
- 函数left() ,使用示例: select left('zhangsan',1); 返回字符串zhangsan的一个字符z
- 函数Locate(),使用示例: select locate('a','bbabc'); 返回第一个字符串在第二个字符串中出现的位置 3
- 函数Soundex() 使用示例: select * from user where Soundex(name) = Soundex('li');返回所有name的读音和 li 相似的记录
- 查看系统时间的函数: select CurDate() ;查看当前日期 ,select CurTime() ; 查看当前时间
- 函数max()和函数min()都会忽略掉职位null的行
- 聚集函数中可以使用distinct ,例如: select avg(distinct age) as ageavg from user;
- 关键字group by必须在where后和order by 之前
- where用来过滤行,having用来过滤分组 例如: select id ,count(*) as nums from user group by id having count(*)>=2;
- 关键字union链接查询语句,至少由两条select语句组成,多个之间都是用union连接(使用union时会自动去掉重复的行记录,如果不想去掉就使用 union all)
- 全文本搜索 Match() 指定搜索的列,Aganist()指定要使用的表达式
- 全文搜索示例:select text from mail where Match(text) Aganist('right'); 其中text是定义表的时候指定的索引字段,FULLTEXT(text)定义
- 创建表,id自增时设置 id int(10) primary key auto_increment
- 修改列名和数据类型: alter table 表名 change column 旧列名 新列名 列类型; alter table user change column name username varchar(30); 将user表中的name列变为username.
- 添加列: alter table user ADD hobby varchar(30);为user表中添加新列hobby,类型为varchar
- 删除列: alter table user DROP column age ; 删除user表中age那一列
- 重命名表: rename table 旧表名 to 新表名; alter table user to person; 将名为user的表改名为 person.
MYSQL基础知识小盲区的更多相关文章
- MySQL 基础知识梳理
MySQL 的安装方式有多种,但是对于不同场景,会有最适合该场景的 MySQL 安装方式,下面就介绍一下 MySQL 常见的安装方法,包括 rpm 安装,yum 安装,通用二进制安装以及源码编译安装, ...
- java基础知识小总结【转】
java基础知识小总结 在一个独立的原始程序里,只能有一个 public 类,却可以有许多 non-public 类.此外,若是在一个 Java 程序中没有一个类是 public,那么该 Java 程 ...
- mysql基础知识大全
前言:本文主要为mysql基础知识的大总结,mysql的基础知识很多,这里作简单概括性的介绍,具体的细节还是需要自行搜索.当然本文还有很多遗漏的地方,后续会慢慢补充完善. 数据库和数据库软件 数据库是 ...
- java基础知识小小结
java基础知识小总结 在一个独立的原始程序里,只能有一个 public 类,却可以有许多 non-public 类.此外,若是在一个 Java 程序中没有一个类是 public,那么该 Java 程 ...
- mysql基础知识语法汇总整理(二)
mysql基础知识语法汇总整理(一) insert /*insert*/ insert into 表名(字段列表) values(值列表); --蠕虫复制 (优点:快速复制数据,测试服务器压力) in ...
- mysql基础知识语法汇总整理(一)
mysql基础知识语法汇总整理(二) 连接数据库操作 /*连接mysql*/ mysql -h 地址 -P 端口 -u 用户名 -p 密码 例如: mysql -u root -p **** /* ...
- MySQL基础知识:启动管理和账号管理
整理.记录常用的MySQL基础知识:时间久了,很多就忘记了. 操作系统环境为MacOS Catalina, MySQL版本为: 8.0.13 MySQL Community Server - GPL. ...
- MySQL基础知识:创建MySQL数据库和表
虚构一个微型在线书店的数据库和数据,作为后续MySQL脚本的执行源,方便后续MySQL和SQL的练习. 在虚构这个库的过程中,主要涉及的是如何使用命令行管理 MySQL数据库对象:数据库.表.索引.外 ...
- MySQL基础知识:Character Set和Collation
A character set is a set of symbols and encodings. A collation is a set of rules for comparing chara ...
随机推荐
- Error updating database:线程异常
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".SLF4J: See http://www.slf4 ...
- SVN-版本控制工具安装与使用
什么是版本控制? 版本控制(Revision control)是一种软体工程技巧,籍以在开发的过程中,确保由不同人所编辑的同一档案都得到更新. 版本控制透过文档控制(documentation con ...
- 确认OHS版本的方法
还是 opatch lsinventory 好用 C:\Oracle\Middleware\ohs\OPatch>opatch lsinventory Oracle Interim Patch ...
- 《SQL 基础教程》—第一章:数据库与 SQL
导言 这一章的内容如下: 数据库简介 SQL 概要 表的创建 表的删除与更新 数据库简介 定义: Database, 是大量数据的集合Database Management System,是用于管理数 ...
- 【简单易懂】JPA概念解析:CascadeType(各种级联操作)详解
https://www.jianshu.com/p/e8caafce5445 [在一切开始之前,我要先告诉大家:慎用级联关系,不要随便给all权限操作.应该根据业务需求选择所需的级联关系.否则可能酿成 ...
- android -------- Data Binding的使用(二)
分享一下Data Binding在项目中一些常用的基础,点击事件和输入框的一些操作. DataBinding允许我们在xml中view的一些事件属性(如onClick等)中填写DataBinding表 ...
- 一‘php文件系统
一.获取文件信息 ——FILE——,获取当前文件的绝对路径,包含文件名, __DIR__等价于dirname(__FILE__),不包含文件名的路径,
- 基于react的记账簿开发
前言 前端是纯 React,后端通过 axios 库请求服务器获得数据. 源码: https://github.com/hfpp2012/react-accounts-app 项目详解: https: ...
- 2.7 UML状态图
问题的引出 顺序图是对对象的动态行为进行建模,有多个对象的参与.协作 问题: 当需要考察单个实体的动态行为时, 用UML如何来建模呢? 什么是单个实体:一个软件系统?一个子系统?一个模块.一个构件? ...
- Kay and Snowflake CodeForces - 685B (重心, 好题)
大意:给定有根树, 求每个子树的重心 我太菜了啊, 只能想到暴力树剖, 然而这就是个B题, 感觉树剖+线段树二分还是挺难写的..... 看了题解发现重心一定在重儿子与根的树链上, 重心最多上跳n-1次 ...