MySQL基础

MYSQL基础

数据库:DataBase --> DB

数据库管理系统:DataBaseManagement --> DBMS

SQL:结构化查询语言

DBMS --> 执行 -->SQL -->操作 -->DB

M y S Q L 启动 \color{red}{MySQL启动} MySQL启动

MySQL服务启动

sql 复制代码
net start MySQL 服务名

MySQL服务停止

sql 复制代码
net stop MySQL  服务名

MySQL本地登录

sql 复制代码
mysql -uroot -p123456

-u 后面跟的是数据库的用户名。

-p 后面跟的是密码。

root是用户名,123456是密码。按自己对应的密码和用户名进行相应的替换。

远程连接 \color{red}{远程连接} 远程连接

sql 复制代码
mysql [-h 127.0.0.1 -p 3306] -u root -p 123456

h host连接服务器的ip地址。

p port 端口号。

M y S Q L 常用命令 \color{red}{MySQL常用命令} MySQL常用命令

退出mysql:

sql 复制代码
exit

查看mysql中又那些数据库:

sql 复制代码
show databases;

默认自带四个数据库。

查看数据库中的表

sql 复制代码
show tables;

使用某个数据库

sql 复制代码
use test;

这里的test是数据库的名称,视实际情况而定!!!

创建一个数据库

sql 复制代码
create database newdataname;
sql 复制代码
create database if not exists newdataname;

这里的newdataname是所要创建的数据库名称。

c o l o r r e d 任何一张表都有行和列 color{red}{任何一张表都有行和列} colorred任何一张表都有行和列

行(row):被称为数据/记录。

列(column):被称为字段。

每一个字段都有:字段名,数据类型,约束等属性。

数据库中的基本单位是表:table

S Q L 语句的分类 \color{red}{SQL语句的分类} SQL语句的分类

DQL

数据查询语言(凡是带有select 关键字都是查询语句)

select......

DML

数据操作语言(凡是对表当中的数据进行增删改的都是DML)

insert(增),delete(删),update(改)。

这个主要是操作表中的数据data。

DDL

数据定义语言(凡是带有create,drop,alter 都是DDL)

DDL主要操作的是表的结构,不是表的数据。

create(新建),drop(删除),alter(修改)。

这个增删改和DML不同·,这个主要对表结构进行操作。

TCL

事务控制语言。

包括:事务提交:commit 事务回滚:rollback.

DCL

数据控制语言。

例如:授权grant,撤销权限 revoke......

数据类型 \color{red}{数据类型} 数据类型

varchar(最长255)

可变长度的字符串。

比较智能,节省空间。

会根据实际的数据长度动态分配空间。

char(最长255)

定长度字符串。

不管实际的数据长度是多少。

分配固定长度的空间取存储数据。

使用不恰当,导致空间的浪费。

int(最长11)

数字中的整数型。

bigint

数字中的长整型。

float

单精度浮点型数据。

double

双精度浮点型数据。

data

短日期数据。

datatime

长日期数据。

clob(Charcter Large OBject)

字符大对象。

最多可以存储 4G的字符串。(存储一篇文章)

超过255个字符都要使用 clob来存储。

blob(Binary Large Object)

二进制大对象。

专门用来存储图片、声音、视频等流媒体数据

使用blog时用IO流才行。

条件 \color{red}{条件} 条件

=         等于

<> 或 !=   不等于

<         小于

<=        小于等于

>         大于

>=        大于等于

between......and......    两个值之间

在使用between......and...... 的时候,必须遵循左小右大
between......and...... 是闭区间,包括两端的值。

is nullnull

is not null 不为空。

and    并且

or      或者

andor 同时出现,and 优先级较高,如果想让or 先执行,需要加小括号。

in()
in不是一个区间,in后面跟的是具体的值。

not 可以取非,主要用 is 或 in

is null

is not null

in

not in

like

称为模糊查询,支持%或下划线匹配。

% 匹配任意个字符

_ 下划线,一个下划线只表示任意一个字符

基本操作 \color{red}{基本操作} 基本操作

导入数据

sql 复制代码
source 路径

路径中不要有中文,路径指文件路路径。

查看表的结构

sql 复制代码
desc 表名;

查看数据库的版本号

sql 复制代码
select version();

查看当前使用的那个数据库

sql 复制代码
select database();

创建表

sql 复制代码
create table 表名(
	字段1  数据类型,
	字段2  数据类型,
	字段3  数据类型
);

插入数据

sql 复制代码
insert into 表名(字段1,字段2,字段3) values 
	(值1,值2,值3),
	(值11,值22,值33),
	(值111,值222,值333);

更改表名

sql 复制代码
alter table 旧名 rename to 新名;

给表添加一列

sql 复制代码
alter table 表名 add 列名 数据类型;

修改列名的数据类型

sql 复制代码
alter table 表名 modify 列名 数据类型;

修改列名

sql 复制代码
alter table 表名 change 旧列名 新列名 数据类型;

删除列

sql 复制代码
alter table 表名 drop 列名;

查询 \color{red}{查询} 查询

查询表中的数据

sql 复制代码
select * from 表名;

查询一个字段

sql 复制代码
select 字段名 from 表名;

查询两个字段或多个字段

方法1:

把每个字段都写上用逗号隔开。

sql 复制代码
select 字符1,字段2,字段n, from 表名;

方法2

可以使用 *

sql 复制代码
select * from 表名;

推荐使用方法1,方法2效率低,可读性差。

起别名(as)

sql 复制代码
select 原名 as 别名 from 表名;

注意,只是将显示的查询结果列名显示为别名,原表的列名还是原名。as 关键字可以省略。如果别名中有空格,应该使用单引号括起来,别名是中文也要使用单引号括起来。

排序

升序(asc)

sql 复制代码
select 字段 from 表名 order by 升序字段 asc;

降序(desc)

sql 复制代码
select 字段 from 表名 order by 降序字段 desc;

当升序/降序字段有多个时,只有当第一个字段相等,才会比较后面的字段。

数据处理函数/单行处理函数

单行处理函数的特点:一个输入对应一个输出。

多行处理函数的特点:多个输入,对应1个输出。

分组函数

只有5个。

注意:

分组函数在使用的时候,必须先进行分组,然后才能用。

如果你没有对数据进行分组,整张表默认为一组。

count(计数)

sum(求和)

avg(平均值)

max(最大值)

min(最小值)

分组函数在使用的时候注意事项

1.分组函数计算时自动忽略NULL,不需要提前对NULL处理。

2.分组函数中 count(*) 和 count(具体字段)区别。

count(具体字段): 表示统计该字段下所有不为NULL的元素总数。

count(*): 统计表当中的总行数。

3.分组函数不能够直接使用在where子句中。(结合分组查询 group by)理解。

因为分组函数在使用的时候必须要先进行分组才能使用,where执行的时候,还没有进行分组,所以where后面不能出现分组函数。

4.所有分组函数可以组合起来一起使用。

相关推荐
藓类少女1 小时前
正则表达式
数据库·python·mysql·正则表达式
魏 无羡1 小时前
pgsql 分组查询方法
java·服务器·数据库
szcsd1234567892 小时前
简单有效关于msvcp140.dll丢失的解决方法,msvcp140.dll修复的方法原理及步骤
数据库·dll文件·dll修复工具·dll修复·dll丢失
江凡心2 小时前
Qt 每日面试题 -1
服务器·数据库·qt
好记忆不如烂笔头abc2 小时前
db2恢复数据库
数据库
qq_35323353892 小时前
【原创】java+springboot+mysql科研成果管理系统设计与实现
java·spring boot·mysql·mvc·web
Counter-Strike大牛2 小时前
MySQL迁移达梦报错,DMException: 第1 行附近出现错误: 无效的表或视图名[ACT_GE_PROPERTY]
java·数据库
计算机学姐4 小时前
基于python+django+vue的旅游网站系统
开发语言·vue.js·python·mysql·django·旅游·web3.py
SZ1701102314 小时前
麒麟银河桌面版,成功安装cuda12.6,mysql
mysql·cuda·银河麒麟
小诸葛的博客4 小时前
pg入门18—如何使用pg gis
数据库