MySQL数据库基础

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,属于Oracle旗下产品。它是最流行的关系型数据库管理系统之一,尤其在WEB应用方面,MySQL是最佳的选择之一。MySQL使用SQL语言作为访问数据库的标准语言,采用双授权政策,分为社区版和商业版。由于其体积小、速度快、总体拥有成本低,尤其是开放源码的特点,MySQL被广泛用于中小型和大型网站的开发中。

MySQL的主要优势

性能优越:能够处理大量数据,保持高效的查询和读写操作。
开源与易用:开源性质使得开发者可以免费使用并定制,同时易于上手。
灵活性:支持多种存储引擎,如InnoDB、MyISAM等,满足不同业务需求。
高可用性:支持主从复制、集群等多种高可用方案,确保数据可靠性与连续性。
可扩展性:支持各种分表、分库方案,轻松扩展以满足大规模数据存储需求。
安全性:提供SSL加密、访问控制列表、数据加密等安全特性,保障数据安全。

数据库分类

关系型数据库:SQL(Structured Query Language)
    MySQL、Oracle、Sql Server、DB2、SQLlite
    通过表和表之间,行和列之间的关系进行数据的存储
    通过外键关联来建立表与表之间的关系
非关系型数据库:NoSQL(Not Only SQL)
    Redis、MongoDB
    指数据以对象的形式存储在数据库中,而对象之间的关系通过每个对象自身的属性来决定。

字符串

时间日期

下面是对MySQL数据库的一些基础知识点总结:

一、创建与管理数据库

1.创建数据库

使用CREATE DATABASE或CREATE SCHEMA命令可以创建数据库。语法格式如下。

CREATE {DATABASE| SCHEMA	[IF NOT EXISTS]	数据库名	
[[DEFAULT]CHARACTER SET	字符集名	
| [DEFAULT] COLLATE 校对规则名]

2.打开数据库

创建了数据库之后,使用USE命令可指定当前数据库。语法格式如下。

USE 数据库名

3.修改数据库

数据库创建后,如果需要修改数据库的参数,可以使用ALTER DATABASE 命令。语法格式如下。

ALTER {DATABASE | SCHEMA} [数据库名]
[[DEFAULT] CHARACTER SET  字符集名
| [DEFAULT] COLLATE	校对规则名]

4.删除数据库

如果需要删除已经创建的数据库,可使用DROP DATABASE 命令。语法格式如下。

DROP DATABASE  [IF EXISTS] 数据库名

5.显示数据库

如果需要显示服务器中已建立的数据库,可以使用SHOW DATABASES 命令。语法格式如下。

 SHOW DATABASES

二、创建与管理数据库表

1.创建表

使用CREATE TABLE 命令可以创建表。语法格式如下。

CREATE TABLE [IF NOT EXISTS]表名
(列名 数据类型 [NOT NULL | NULL] [DEFAULT 列默认值]…)
ENGINE = 存储引擎

2.修改表结构

ALTER TABLE命令可以用于更改原有表的结构。例如,可以增加或删减列、创建或取消索引、更改原有列的类型、重新命名列或表,还可以更改表的评注和表的类型。语法格式如下。

ALTER [IGNORE] TABLE表名
ADD [COLUMN] 列名 [FIRST | AFTER列名]	/*添加列*/	
| ALTER [COLUMN]列名
{SET DEFAULT	默认值	DROP DEFAULT}	/*修改默认值*/	
| CHANGE [COLUMN]旧列名 列定义	/*对列重命名*/	
[FIRST | AFTER 列名]
| MODIFY [COLUMN]列定义[FIRST | AFTER 列名]	/*修改列类型*/	
| DROP [COLUMN]列名	/*删除列*/	
| RENAME [TO] 新表名	/*重命名该表*/

3.复制表

当需要建立的数据库表与已有的数据库表结构相后时,可以通过复制表的结构和数据的方法新建数据库表。语法格式如下。

CREATE TABLE [IF NOT EXISTS]新表名
[ LIKE 参照表名]
| [AS (select 语句)]

4.删除表

需要删除一个表时,可以使用DROP TABLE语句。语法格式如下。

DROP TABLE [IF EXISTS]	表名1 [,表名2 ] …

5.显示数据表信息

(1)显示数据表文件名

SHOW TABLES 命令用于显显示已经建立的数据表文件。语法格式如下。

SHOW TABLES

(2)显示数据表结构

DESCRIBE语句用于显示表中各列的信息。语法格式如下。

{DESCRIBE | DESC} 表名 [列名|通配符]

三、数据操作

1.数据插入

一旦创建了数据库和表,下一步就是向表里插入数据。通过INSERT或 REPLACE语句可以向表中插入一行或多行数据。语法格式如下。

INSERT [IGNORE] [INTO] 表名[(列名,…)] 
VALUES ({表达式| DEFAULT},…),(…) ,…
| SET 列名={表达式| DEFAULT}, …

2.数据修改

1.单表数据修改

语法格式如下。

UPDATE [IGNORE] 表名
SET 列名1=表达1  [,列名2=表达式2 …]
[WHERE 条件]

2.多表数据修改

语法格式如下。

UPDATE [IGNORE] 表名列表
SET 列名 1=表达式1 [,列名2=表达式2 …]
[WHERE 条件]

3.数据删除

1.从单个表中删除行

语法格式如下。

DELETE [IGNORE] FROM 表名
[WHERE 条件]

2.从多个表中删除行

语法格式如下。

DELETE [IGNORE] 表名1[.*] [,表名2 [.*] …]
FROM 表名列表	
[WHERE 条件]

DELETE [IGNORE]
FROM  表名1[.*] [,表名2 [.*] …]	
USING	表名列表	
[WHERE 条件]

4.使用 TRUNCATE TABLE语句删除表数据

使用DELETE语句删除记录时,每次删除一行,并在事务日志中为所删除的每行进行记录,当要删除表中所有记录,且记录很多时,命令执行较慢。这时使用TRUNCATE TABLE语句会更加快捷。TRUNCATE TABLE语句也称为清除表数据语句。语法格式如下。

TRUNCATE TABLE 表名

四、数据查询

1.单表查询

SELECT语句可以实现对表的选择、投影及连接操作。即SELECT语句可以根据用户的需要从一个或多个表中选出匹配的行和列,结果通常是生成一个临时表。

SELECT语法格式如下。

SELECT [ALL | DISTINCT]	输出列表达式,…	
[FROM	表名1 [,表名2] …]	/*FROM子句*/	
[WHERE条件	/*WHERE 子句*/	
[GROUP BY{列名|表达式|列编号}
   [ASC | DESC],…	/* GROUP Y子句*/	
[HAVING条件]	/* HAVING 子句*/	
[ORDER BY{列名|表达式|列编号}
   [ASC | DESC] ,…]	 /*ORDER BY子句*/	
[LIMIT {[偏移量,] 行数|行数OFFSET 偏移量}] /*LIMIT 子句*/

2.多表查询

前面介绍了如何使用SELECT子句选择列,下i面讨论 SELECT的查询对象(即数据源)的构成形式。SELECT的查询对象由FROM子句指旨定。
FROM子句格式如下。

FROM 表名1_[[AS] 别名1 ] [ ,表名2[ [AS] 别名2]] …	/*查询表*/	
| JOIN 子句	/*连接表*/

3.条件查询

运算符

通过学习了MySQL让我对数据库技术有了更深入的了解,也让我对数据处理和分析有了更全面的认识。我认为在之后的学习与工作过程中,MySQL会是我编程的工具之一。我希望通过自己往后的学习与琢磨能进一步探索MySQL的高级功能和应用场景,不断提升自己的技能水平。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值