速学MySQL

目录

什么是数据库

MySQL的功能

在Linux中安装MySQL

MySQL基础指令


什么是数据库

        数据库是一个用于存储、管理和检索数据的结构化集合。它被广泛应用于各种软件系统中,用于组织、存储和提供数据。数据库可以存储许多不同类型的数据,例如文字、数字、图像和多媒体文件。

        数据库系统提供了一种机制,让用户可以有效地存储、更新和检索数据。它通过使用一种称为查询语言的编程语言,使用户能够以结构化的方式查询和操作数据。常见的数据库系统包括关系型数据库(如MySQL、Oracle和SQL Server)和非关系型数据库(如MongoDB和Redis)。

        数据库的主要优势包括数据的持久性、数据的一致性和数据的高效性。它可以有效地管理大量的数据,并提供快速的数据检索和更新。数据库还提供了一些高级功能,如数据完整性约束、事务处理和数据安全性控制,以确保数据的正确性和安全性。

        总而言之,数据库是一种用于存储、管理和检索数据的软件系统,它为用户提供了一种有效、结构化和安全的方式来处理数据。

MySQL的功能

MySQL 提供了丰富的功能,包括:

        1.创建和管理数据库:MySQL 支持创建多个数据库,每个数据库可以包含多个表。

        2.定义数据结构:可以使用 SQL 语句创建表,并指定列的数据类型、约束、索引等。

        3.存储和检索数据:利用 SQL 语句可以进行数据的增加、删除、修改和查询操作。

        4.支持事务处理:MySQL 提供了事务处理机制,支持提交和回滚操作,确保数据的一致性和完整性。

        5.数据库安全性:MySQL 提供了用户认证和权限管理功能,可以控制不同用户对数据库的访问和操作权限。

在Linux中安装MySQL

        1.先在终端中查看是否已经安装,ps -ef |grep mysql

        2.如果没有就在终端中进行下载,输入指令 sudo apt install mysql-server,按下回车键等待下载。

        3.因为MySQL8版本不再提供安装向导,所以可以使用root用户直接进入。

        4.下载完成后,切换到root用户,输入mysql按下回车就直接进入mysql。

        5.启动MySQL sudo service mysql start,关闭MySQL sudo service mysql stop,重启MySQL sudo service mysql restart

MySQL基础指令

show databases; 查看所有数据库

create database db charset=utf8; 新建数据库,并能够输入汉字

select dataase(); 查看当前在用的数据库

use db;使用数据库

drop database db;删除数据库

show tables;查看指定数据库中的所有表

create table 表名 (列名1 类型 约束,列名2 类型 约束,...); 创建表,列名 类型顺序固定,约束不在乎顺序

desc 表名;描述一下该表

select * from 表名;查看表中所有内容

drop table 表名;删除表

alter 对表进行修改

alter table 原表名 rename 新表名;修改表名

alter table 表名 add 列名 类型 约束;新增列

alter table 表名 change 原列名 新列名 类型 约束;修改列名

alter table 表名 drop 列名;删除列

alter table 表名 auto_increment = 指定值;因为删除数据后再添加时id不会从1开始,可以指定从指定值开始自增

insert into 表名 (列名1,列名2,...) values (值1,值2,...),(值1,值2,...) ,...; 缺省插入

insert into 表名 values (值1,值2,...),(值1,值2,...),... ;全列插入,默认值也要填写

update 表名 set 修改内容; 整个表修改

update 表名 set 修改内容 where 条件; 指定修改

delete from 表名 可以跟条件语句;

select * from 表名;查看表中所有内容;

select 列名 from 表名;查看指定列,表名后可以有条件语句

select count(列名) from 表名;可以查看表有多少行

select max(列名) from 表名;查看该列最大值,一样可以查看最小值,总和以及平均值

select distinct 列名 from 表名;可以去重,但是不改变数据库

select * from 表名 order by 列名 desc;降序,使用asc是升序,可以同时给多列进行排序

select 列名 from group by 列名; 给指定列进行分组,后面也可以使用having加上限制条件

select * from 表名 limit count;将表中的前count个数据展现出来

select * from 表名 start,count;从start开始展现出来count个数据

create user ‘用户名’@’%’ identified by ‘密码’; 创建一个可以在所有的IP地址都能登陆的用户

grant 权限1,权限2,.. on 可以操作的数据库 to 创建的用户以及IP;给创建的用户分配权限,该操作只能在root用户下进行

drop user 用户名;该操作不能在要删的用户下操作

where常见条件语句

in   where 列名 in (值1,...) 指定列名在该元组中

not in  where 列名 in (值1,...) 指定列名不在该元组中

null  where 列名is null 该列是空

not null where 列名is not null 该列不是空

> where 列名 > 值 像python一样判断 同样 = ,<

and where 条件1 and 条件2 和python中的含义一样,同理or

between a and b 慎用,效率低

like where name like ‘王%’ 意思是名字列中姓王的

like where name like ‘%王%’ 意思是名字列中含有王字的

like where name like ‘王_’ 意思是名字列中姓王的而且名字是两个字的

常见约束

unique 唯一性

not null 不能为空

auto_increment 自增长

primary key 主键,每个表中必须要有主键

foreign key 外键 要搭配 references 使用

default 默认

enum 枚举,可以用来约束性别,也可以约束别的

cascade 级联,将外键所在表中的操作同步到主键所在的表

炫酷科技芯片场景图片素材-正版创意图片400338068-摄图网

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

C&&Q

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值