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 ...
随机推荐
- openstack环境搭建常用命令
1,编辑/etc/selinux/config文件,关闭selinux SELINUX=disabled 2,清空iptables规则并保存 # iptables -F # service iptab ...
- Django - models.py 应用
Django - models.py 应用 编写 models.py 文件 from django.db import models # Create your models here. class ...
- 第 8 章 容器网络 - 058 - flannel 概述
flannel 概述 flannel 是 CoreOS 开发的容器网络解决方案. flannel 为每个 host 分配一个 subnet,容器从此 subnet 中分配 IP,这些 IP 可以在 h ...
- Go语言学习之4 递归&闭包&数组切片&map&锁
主要内容: 1. 内置函数.递归函数.闭包2. 数组与切片3. map数据结构4. package介绍 5. 排序相关 1. 内置函数.递归函数.闭包 1)内置函数 (1). close:主要用来关闭 ...
- Confluence 6 创建小组的公众空间
现在是我们可以开始创建公众空间的时候了,全世界都希望知道这个项目和勇敢的探险活动. 在这个步骤中,我们将会创建一个项目小组的空间,并且将这个空间公布给全世界.这个表示的是你将会让你的 Confluen ...
- 维护满足max(+ or -)min<=k的区间
这是一种经典的单调栈+线段树的维护方法. 从左到右枚举右端点. 线段树维护每一个左端点的max(+ or -)min的值. 每次右端点移动的时候,把a[i]加入单调栈. 每弹栈一次,便在线段树上把对应 ...
- 直播 APP 的直播实现流程
直播平台搭建所涉及的事项非常的广泛, 不仅需要直播源码. 直播系统开发. 后台服务 器.专门的运维人员等, 还需要技术团队切实的把控.下面, 小编就给大家确切的说下直播 平台搭建需要用到哪些步骤. 1 ...
- 『C++』基础知识点
一.基础知识 1.C++编译流程 以Unix系统编译中间文件为说明: .cpp—(编译预处理)—>.ii—(编译)—>.s—(汇编)—>.o—(ld,连接)—>.out 2.# ...
- Python mongoDB读取
class db_class(): def __init__(self): mongo_DB='test1' self.mongo_TABEL='test' client=pymongo.MongoC ...
- activiti部署流程定义时出错:INSERT INTO ACT_GE_BYTEARRAY,修改数据库编码
activiti部署流程定义时出错 // 部署流程定义 Deployment deployment = deploymentBuilder.deploy(); 错误信息:(有乱码的...没留下截图.. ...