MySQL数据库

什么是数据库

数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、查询、更新、删除等操作。
所谓“数据库”是以一定方式储存在一起、能予多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合

数据库相关概念

数据库:

就是一个存放数据的仓库,数据是有组织的进行存储 ; 简称:Database (DB)

数据库管理系统:

操纵和管理数据库的大型软件; 简称:Database  Management  System (DBMS)

SQL:

操作关系型数据库的编程语言,定义了一套操作关系数据库统一标准;简称:Stuctured  Query  Langguage (SQL)

为什么要有数据库

存储数据用文件就可以了,为什么还要弄个数据库?

文件保存数据有以下几个缺点:

  • 文件的安全性不高。
  • 文件不利于数据查询和管理,因为需要遍历,效率太低。
  • 文件不利于存储海量数据。

为了解决上述问题,专家们设计出了一套专门的数据管理系:数据库。

数据库的基本使用

1.MySQL的安装:

所谓安装MySQL,其实是在我们的电脑上安装MySQL的客户端和服务器:

 MySQL服务的本质是一个网络服务器进程,所以它也应有自己对应的端口号和其所遵守的协议:

 

2.检查MySQL后端服务器是否启动

安装完成后输入命令:ps axj | grep mysqld来检查MySQL的后端服务器mysqld是否启动:

 另外输入命令:systemctl stop mysqld可以终止MySQL后端服务器:

 输入命令:systemctl start mysqld开启MySQL后端服务器:

 

3.连接MySQL服务器

命令行上输入mysql -uroot -p,接着再输入密码即可连接上MySQL服务器:

 想要退出MySQL,只需输入quit即可:

 

数据库的基础知识

1)    数据库:用于存储和管理数据的容器。
2)    表:用于组织数据的结构对象,由行和列组成。
3)    列:表中的数据项的类型定义。
4)    行:表中的数据记录。
5)    主键:用于唯一标识表中每行的列或列组合。
6)    外键:用于建立表之间的关系,指向另一个表中的主键。

常用数据类型:

1)    整型:int,tinyint,bigint等。
2)    浮点型:float,double等。
3)    字符串型:varchar,char等。
4)    日期和时间类型:date,time,datetime等。

数据库操作:

1)    创建数据库:create database database_name;
2)    删除数据库:drop database database_name;
3)    选择数据库:use database_name;
4)    创建表:create table table_name(column1 datatype, column2 datatype, …);
5)    删除表:drop table table_name;
6)    插入数据:insert into table_name(column1, column2, …) values(value1, value2, …);
7)    更新数据:update table_name set column1 = value1, column2 = value2 where condition;
8)    删除数据:delete from table_name where condition(条件);
9)    查询数据:select column1, column2, … from table_name where condition;

数据查询:

1)    简单查询:select * from table_name;

2)    条件查询:select * from table_name where condition;
3)    排序查询:select * from table_name order by column_name asc/desc;
4)    聚合函数:count, sum, avg, min, max等;
5)    分组查询:select column1, count(column2) from table_name group by column1;
6)    连接查询:inner join, left join, right join等;

高级功能:

1)    索引:提高查询效率的数据结构。
2)    视图:虚拟表,基于查询结果的可视化。
3)    存储过程:预编译的数据库操作脚本。
4)    触发器:在表上触发自动化操作。
5)    事务:一组数据库操作的原子性和一致性

MyISAM和InnoDB区别

名称

MyISAM

数据库引擎

InnoDB

存储引擎

事务处理不支持支持
数据行锁定不支持支持
外键约束不支持支持
全文索引支持不支持
表空间大小较小较大,约2倍

结构化查询语句SQL
名称解释命令
DDL(数据定义语言)定义和管理数据对象,如数据库,数据表等CREATE、DROP、ALTER
DML(数据操作语言)用于操作数据库对象中所包含的数据INSERT、UPDATE、DELETE
DQL(数据查询语言)用于查询数据库数据SELECT
DCL(数据控制语言)用来管理数据库的语言,包括管理权限及数据更改GRANT、COMMIT、ROLLBACK

DDL数据定义语言常用语句

/*创建数据库 判断是否存在*/
CREATE DATABASE if not EXISTS myschool;
/*删除数据库*/
DROP DATABASE if EXISTS myschool;
/*查看库*/
show DATABASES;
/*切换数据库*/
use myschool;
/*创建表*/
CREATE table if not EXISTS `student` (
    id int  PRIMARY KEY auto_increment,
    name VARCHAR(50) not null DEFAULT "张三",
  money DECIMAL(3,2)
)
/*删除表*/
DROP TABLE student;

DML数据操作语言常用语句

SELECT:用于从数据库中查询数据。
示例:从table_name中选择 *;

INSERT:用于向数据库表中插入新的数据。
示例:插入到table_name(列 1、列 2、...)值(值 1、值 2、...);

UPDATE:用于更新数据库表中的数据。
示例:更新table_name设置列 1 = 值 1,列 2 = 值 2 其中条件;

DELETE:用于删除数据库表中的数据。
示例:从table_name位置条件中删除;

MERGE:用于根据条件合并数据。
示例:匹配时使用source_table打开(条件)合并到table_name中,然后更新集 列 1 = 值 不匹配时插入(列 1、列 1、...值(值 2、值 1、...);

TRUNCATE:用于删除数据库表中的所有数据,并重置表的计数器。
示例:TRUNCATE TABLE table_name;

DQL数据查询语言常用语句    

SELECT:用于从数据库中检索数据。

例如:SELECT * FROM table_name;

WHERE:用于在查询中添加条件。

例如:SELECT * FROM table_name WHERE condition;

AND/OR:用于在WHERE语句中添加多个条件。

例如:SELECT * FROM table_name WHERE condition1 AND condition2;

ORDER BY:用于按照指定的列对结果进行排序。

例如:SELECT * FROM table_name ORDER BY column_name;

GROUP BY:用于将结果按照某一列进行分组。

例如:SELECT column_name, COUNT(*) FROM table_name GROUP BY column_name;

HAVING:用于在GROUP BY语句后添加条件。

例如:SELECT column_name, COUNT(*) FROM table_name GROUP BY column_name HAVING condition;

JOIN:用于将多个表连接在一起查询。

例如:SELECT * FROM table1 JOIN table2 ON table1.column_name = table2.column_name;

LIMIT:用于限制查询结果的数量。

例如:SELECT * FROM table_name LIMIT count;

DQL常用关键字:

关键字说明
or
and
having分组后的附加条件
group by分组
order by排序:asc:正序,desc:倒序
in存在于某个值中
not in不存在与某个值中
inner join … on链接多表
left join … on左外连接
right join … on右外连接
left(right,inner) out join … on去重
count计数
AVG平均值
sum求和
max最大值
min最小值
like ‘关键字%’取含有关键字的值
distinct去重
round四舍五入
where 1=1全选
where 1=2全不选
limit 1,5从第二行开始显示5条数据
top 10 : select top 10 * from 表名显示前十条数据
newid()随机

 

 

DCL(数据控制语言)常用语句

GRANT:用于授权用户对数据库对象的访问权限。

例如:GRANT SELECT, INSERT ON table_name TO user_name;

REVOKE:用于撤销用户对数据库对象的访问权限。

例如:REVOKE SELECT, INSERT ON table_name FROM user_name;

DENY:用于拒绝用户对数据库对象的访问权限。

例如:DENY UPDATE ON table_name TO user_name;

COMMIT:用于将对数据库的修改保存到数据库中。

例如:COMMIT;

ROLLBACK:用于撤销对数据库的修改。

例如:ROLLBACK;

SAVEPOINT:用于创建一个保存点,可以在事务中使用。

例如:SAVEPOINT savepoint_name;

SET TRANSACTION:用于设置事务的属性。

例如:SET TRANSACTION ISOLATION LEVEL READ COMMITTED;

MySql常用的数据类型

数值类型

类型说明存储需求
tinyint非常小的数据1字节
int标准整数4字节
bigint较大的整数8字节
float单精度浮点数4字节
double双精度浮点数8字节
decimal字符串形式的浮点数decimal(m, d) m字节 保留d位小数

字符串类型

类型说明存储需求
varchar可变字符串变长度
text文本2的16次方–1字节

日期和时间型数值类型

类型说明
DATEYYYY-MM-DD
DATETIMEYY-MM-DD hh:mm:ss
TIMESTAMPYYYYMMDDhhmmss格式表示的时间戳
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

扶小一

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

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

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

打赏作者

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

抵扣说明:

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

余额充值