您当前的位置:首页 > 电脑百科 > 数据库 > MYSQL

零散的MySql基础记不住,看这一篇就够啦

时间:2020-11-24 12:00:01  来源:  作者:

服务启动和停止

  1. 停止数据库服务
net stop MySQL
  1. 开启数据库服务
net start mysql

数据库相关操作

连接数据库

mysql -uroot -p  密码

修改密码

alter user 'root'@'localhost' identified by 'root';

创建数据库

create database 数据库名;

显示所有数据库

show databases;

使用数据库

use 数据库名;

删除数据库

drop database 数据库名;

数据库表相关操作

创建数据库表

create table 表名 (
	 	  列名1 数据类型1,
	      列命2 数据类型2,
	      ...
	      列名n 数据类型n,
	      primary key 列名(主键)
	 );

查看数据库中的所有表

show tables;

查看数据库表结构

desc 表名;

删除表

drop table 表名;

修改数据库表名

alter table 表名 rename to 新表名;

添加列

alter table 表名 add 列名 数据类型;

删除列

alter table 表名 drop 列名;

表中数据相关操作

添加数据

insert into 表名(列名1,列名2,...列名n) values(值1,值2,...值n);

添加列要和值相对应

insert into 表名 values(值1,值2,...值n);

值要包含表中所有的列

删除数据

delete from 表名 where 条件;

删除满足条件的数据。

delete from 表名;

默认删除表里的所有数据

修改数据

update 表名 set 列名1 = 值1, 列名2 = 值2,... where 条件

修改满足条件的数据

update 表名 set 列名1 = 值1, 列名2 = 值2,...;

如果是不加条件,则修改所有的数据。

查询数据

select 列命 from 表名,

查询某列的数据

select * from 表名

查询所有列的数据

select distinct 列命 from 表名,

查询去重后的数据

条件语句

零散的MySql基础记不住,看这一篇就够啦

 

select * from 表名 where 条件1 and 条件2,查询同时满足条件1和条件2的数据。
select * from 表名 where 条件1 or 条件2,查询满足条件1或条件2的数据。
select * from 表名 where not 条件1,查询不满足条件1的数据。
零散的MySql基础记不住,看这一篇就够啦

 

select * from 表名 where 列名 is null;,查询某列为空的数据。
select * from 表名 where 列名 is not null;,查询某列非空的数据。
select * from 表名 where 列名 between 值1 and 值2;,查询某列在值1和值2之间的数据。
select * from 表名 where 列名 like 'hello%';,查询所有以hello开头的数据,like结合%使用,其中%代表0到任意个字符。
select * from 表名 where 列名 like 'hello_';,查询所有以hello开头并且后面只跟一个字符的数据,like结合_使用,_代表1个字符。
select * from 表名 where 列名in (值1,值2,...);,查询某列在某区域内的数据。

排序和分页

整理了一份JAVA核心知识点。覆盖了JVM、锁、并发、Java反射、Spring原理、微服务、Zookeeper、数据库、数据结构等大量知识点。基本上涵盖了Java架构所有的技术知识点的资料,还覆盖了大厂面试题,同时也有一些springboot等项目源码分享给大家

 

零散的MySql基础记不住,看这一篇就够啦

 


零散的MySql基础记不住,看这一篇就够啦

 

由于资料图片太多就不一一的展示出来了

如果需要获取到这个文档的话帮忙转发一下然后再关注我私信回复“架构资料”得到获取方式吧!

select* from 表名 order by 列名;,通过该列进行升序排序。
select* from 表名 order by 列名 desc;,通过该列进行降序排序。
select* from 表名 limit offset,pagesize;,查询索引从offset(第一个数据索引是0)开始,每页显示pagesize个元素。
select* from user limit 0,10;,查询出的用户表数据,从第1个用户开始显示,每页显示10个。
select* from user limit 10,10;,查询出的用户表数据,从第10个用户开始显示,每页显示10个。

分组查询

select 字段名 from 表名 group by 字段名
select 字段名 count(字段名) from 表名 group by 字段名

举个例子

这里以下方的数据为例子

零散的MySql基础记不住,看这一篇就够啦

 

select user_type from user group by user_type;
零散的MySql基础记不住,看这一篇就够啦

 

select user_type,count(user_type) from user group by user_type;
零散的MySql基础记不住,看这一篇就够啦

 

联表查询

联表查询关键字为join,如果需要判断条件的话是添加join on + 条件 以下方的例子为例子

零散的MySql基础记不住,看这一篇就够啦

 

表结构

零散的MySql基础记不住,看这一篇就够啦

 

内连接

内连接为一种最常用的联表查询,即,inner join,当我们查询了学生姓名和成绩的时,需要用到student 学生表和result成绩表,而inner join 查出的结果就是,学生表中有该学生而且成绩表中对应的有该学生的成绩,满足这一条件成绩就会被查询出来。

零散的MySql基础记不住,看这一篇就够啦

 

栗子如下

零散的MySql基础记不住,看这一篇就够啦

 

外连接

外连接分为左连接和右连接,

左连接

所谓的左连接,也就是在内连接的基础上,把左表中的所有信息给打印。

零散的MySql基础记不住,看这一篇就够啦

 

右连接

右连接和左连接差不多,在内连接的基础上把右边的表的信息打印。

零散的MySql基础记不住,看这一篇就够啦

 

以查询学生姓名和成绩为例子,右连接会把没有姓名的成绩打印出来,下面进行演示。

零散的MySql基础记不住,看这一篇就够啦

 

MySql 事物

事物简介

事物

事物是一个最小的不可再分的工作单元,通常一个事物对应一个完整的业务。事物处理可以用来维护数据库的完整性,保证成批的SQL语句要吗全部执行,要么都不执行。

事物操作

开启事物

start transaction;

提交事物,数据写回磁盘

commit

回滚事物

rollback

查看事物是否开启自动提交

show variables like 'autocommit';
零散的MySql基础记不住,看这一篇就够啦

 

关闭事物自动提交

set autocommit=off;
零散的MySql基础记不住,看这一篇就够啦

 

通过银行转账的例子演示事物

数据如下

零散的MySql基础记不住,看这一篇就够啦

 

同时失败或者同时成功

update bank set money=700 where id=1;
update bank set money=600 where id=2;

所以需要先开启事物,再提交事物

start transaction;
update bank set money=700 where id=1;
update bank set money=600 where id=2;
commit;

事物特征

原子性 一致性 隔离性 持久性

事物的安全隐患

零散的MySql基础记不住,看这一篇就够啦

 

查看事物隔离级别

select @@transaction_isolation;
零散的MySql基础记不住,看这一篇就够啦

 

设置隔离级别为读未提交

set session transaction isolation level read uncommitted;

设置隔离界别为读已提交

set session transaction isolation level read committed;

设置隔离级别为可重复读

set session transaction isolation level repeatable read;

设置隔离界别为可串行化

set session transaction isolation level serializable;

MySql 索引

索引分为主键索引,唯一索引,普通索引,组合索引,全文索引。

  1. 查看表中数据数量
select count(*) from 表名;
零散的MySql基础记不住,看这一篇就够啦

 

  1. 查看表中索引
show index from 表名;
零散的MySql基础记不住,看这一篇就够啦

 

  1. 删除索引
drop index 索引名 on 表名;
  1. 删除主键索引,也就是删除了该字段
alter table 表名 drop 主键字段名;

主键索引

表结构

create table test(
   id int(11),
   name varchar(25),
   primary key (id)
);

创建表的时候添加索引

alter table test add constraint id primary key(id);

唯一索引

表结构

create table test(
	id int(11),
	name varchar(25),
	unique index_unique_test_name (name)
);

创建表之后创建唯一索引

create unique index index_unique_test_name on test(name);

修改表结构为唯一索引

alter table test add unique index index_unique_test_name (name);

普通索引

表结构

create table test(
	id int(11),
	name varchar(25),
	index index_test_name (name)
);

创建表之后创建普通索引

create index index_test_name on test(name);

修改表结构为普通索引

alter table test add index index_test_name (name);

组合索引

表结构

create table test(
	id int(11),
	name varchar(25),
	index index_test_id_name (id,name)
);

创建表之后创建组合索引

create index index_test_id_name on test(id,name);

修改表结构为普通索引

alter table test add index index_test_id_name (id,name);

全文索引

表结构

create table test(
	id int(11),
	name varchar(25),
	content text,
	fulltext (text)
);

创建表之后创建组合索引

create fulltext index index_content on test(content);

修改表结构为普通索引

alter table test add fulltext index index_content (content);


Tags:MySql基础   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
服务启动和停止 停止数据库服务net stop mysql 开启数据库服务net start mysql数据库相关操作连接数据库mysql -uroot -p 密码修改密码alter user 'root'@'loc...【详细内容】
2020-11-24  Tags: MySql基础  点击:(147)  评论:(0)  加入收藏
前言在日常开发中,一些不常用且又比较基础的知识,过了一段时间之后,总是容易忘记或者变得有点模棱两可。本篇主要记录一些关于MySQL数据库比较基础的知识,以便日后快速查看。 SQ...【详细内容】
2020-08-17  Tags: MySql基础  点击:(43)  评论:(0)  加入收藏
概述这篇文章主要针对刚入门的开发,一般半个小时是可以学完的,当然要理解的话估计不止30分钟,对于初学者来说只需满足自己需求可以增删改查等简易的维护即可。下面介绍下MySQL...【详细内容】
2019-11-26  Tags: MySql基础  点击:(89)  评论:(0)  加入收藏
01. mysql基础架构SQL语句是如何执行的学习一下mysql的基础架构,从一条sql语句是如何执行的来学习。一般我们写一条查询语句类似下面这样:select user,password from mysql.u...【详细内容】
2019-09-02  Tags: MySql基础  点击:(200)  评论:(0)  加入收藏
▌简易百科推荐
作者:雷文霆 爱可生华东交付服务部 DBA 成员,主要负责Mysql故障处理及相关技术支持。爱好看书,电影。座右铭,每一个不曾起舞的日子,都是对生命的辜负。 本文来源:原创投稿 *爱可生...【详细内容】
2021-12-24  爱可生    Tags:MySQL   点击:(6)  评论:(0)  加入收藏
生成间隙(gap)锁、临键(next-key)锁的前提条件 是在 RR 隔离级别下。有关Mysql记录锁、间隙(gap)锁、临键锁(next-key)锁的一些理论知识之前有写过,详细内容可以看这篇文章...【详细内容】
2021-12-14  python数据分析    Tags:MySQL记录锁   点击:(17)  评论:(0)  加入收藏
binlog 基本认识 MySQL的二进制日志可以说是MySQL最重要的日志了,它记录了所有的DDL和DML(除了数据查询语句)语句,以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二...【详细内容】
2021-12-14  linux上的码农    Tags:mysql   点击:(13)  评论:(0)  加入收藏
为查询优化你的查询 大多数的MySQL服务器都开启了查询缓存。这是提高性最有效的方法之一,而且这是被MySQL的数据库引擎处理的。当有很多相同的查询被执行了多次的时候,这些查...【详细内容】
2021-12-09  元宇宙iwemeta    Tags:mysql   点击:(15)  评论:(0)  加入收藏
测试的目的和原因,公司有很多程序员,每个程序员对数据库和表结构都有自己的理解。而且每个程序员的理解往往是以效率考虑。既然都是为了效率考虑,那么我就来测试一下究竟哪种使...【详细内容】
2021-12-08  吴彬的分享    Tags:Mysql数据库   点击:(14)  评论:(0)  加入收藏
当你们考虑项目并发的时候,我在部署环境,当你们在纠结使用ArrayList还是LinkedArrayList的时候,我还是在部署环境。所以啊,技术不止境,我在部环境。今天这篇文章缕一下在同一台服...【详细内容】
2021-12-08  秃头码哥    Tags:MySQL数据库   点击:(16)  评论:(0)  加入收藏
对于数据分析来说,MySQL使用最多的是查询,比如对数据进行排序、分组、去重、汇总及字符串匹配等,如果查询的数据涉及多个表,还需要要对表进行连接,本文就来说说MySQL中常用的查询...【详细内容】
2021-12-06  笨鸟学数据分析    Tags:MySQL   点击:(20)  评论:(0)  加入收藏
在学习SQL语句之前,首先需要区分几个概念,我们常说的数据库是指数据库软件,例如MySQL、Oracle、SQL Server等,而本文提到的数据库是指数据库软件中的一个个用于存储数据的容器。...【详细内容】
2021-11-24  笨鸟学数据分析    Tags:SQL语句   点击:(23)  评论:(0)  加入收藏
概述以前参加过一个库存系统,由于其业务复杂性,搞了很多个应用来支撑。这样的话一份库存数据就有可能同时有多个应用来修改库存数据。比如说,有定时任务域xx.cron,和SystemA域...【详细内容】
2021-11-05  Java云海    Tags:分布式锁   点击:(31)  评论:(0)  加入收藏
MySQL的进阶查询 一、 按关键字排序 使用ORDERBY语句来实现排序排序可针对一个或多个字段ASC:升序,默认排序方式 【升序是从小到大】DESC:降序 【降序是从大到小】ORDER BY的...【详细内容】
2021-11-05  Java热点    Tags:SQL语句   点击:(27)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条