当前位置: 首页 > news >正文

数据库基础-01Mysql库和表的操作

1.数据库基础

1.1几个定义

数据库:一般指的是,在磁盘或者内存中存储的特定结构组织的数据(将来在磁盘上存储的一套数据库方案)

mysql:数据库服务的客户端

mysqld:数据库服务的服务器端

mysql本质:基于C(mysql)S(mysqld)模式的一种网络服务

1.2用文件存储就好了为什么还要有数据库来存储呢

虽然一般的文件确实提供了数据存储功能,但是在用户角度,文件并没有提供很好的数据管理能力

而数据库的本质是对数据内容存储提供了一套解决方案。

文件保存数据的缺点:

  • 安全性问题
  • 不利于数据的查询和管理
  • 不利于存储海量数据
  • 在程序控制中不方便

1.3示意图

数据库本质其实也是文件,只不过这些文件并不由程序员直接操作,而是由数据库服务(mysqld)帮助我们进行操作。

建立数据库,本质就是在Linux下创建一个目录;在数据库内建立表,本质就是在Linux目录下建立文件。而这两个操作都是由mysqld帮助我们做的。

1.4Mysql架构

服务器,数据库和表的关系

  • 所谓安装数据库服务器,只是在机器上安装了一个数据库管理系统程序,这个管理程序可以管理多个数据库,一般开发人员会针对每一个应用创建一个数据库
  • 为保存应用中实体的数据,一般会在数据库中创建多个表,来保存数据

1.5SQL分类

DDL:(data definition language)数据定义语言 :用来维护存储数据的结构(eg:create,drop,alter)

DML:(data manipulation language)数据操作语言:增删查改(eg:insert,delete,update)

DCL:(data control language) 数据控制语言:权限管理和事务

1.6存储引擎

存储引擎:数据库管理系统如何存储数据,如何为存储的数据建立索引和如何更新,查询数据等技术的实现方法。

Mysql的核心就是插件式存储引擎,支持多种存储引擎

2.库的操作

2.1创建数据库

create database d1;//创建一个数据库名为d1的数据库
create database d2 charset=utf8;//创建一个使用utf8字符集的d2数据库
create database d3 charset=utf8 collate utf8_general_ci;//创建一个使用utf8字符集,并带校验规则的d3数据库
show databases;//展示现有数据库

2.2字符集和校验规则

创建数据库的时候有两个编码集,存数据是用什么编码方式,取数据时必须用同样的编码方式

//查看系统默认字符集以及校验规则
show variables like 'character_set_database';//数据库编码集,即写入的时候
show veriables like 'collation_database';//数据库校验集,即读取的时候
//查看数据库支持的字符集
show charset;
//查看字符集支持的字符集校验规则
show collation;

_general_ci不区分大小写,_bin区分大小写|(eg:utf8_general_ci;utf8_bin)

2.3修改数据库

//显示创建语句
show create database 数据库名

对数据库的修改主要是修改数据库的字符集,如下:

alter database d1 charset=gbk;

2.4数据库的删除

drop database 数据库名字//但是实际中很少直接删除一个数据库

删除之后对应的数据库文件夹被删除,里面的数据全部被删除,执行此操作要慎重!!

3.表的操作

3.1创建表

不同的存储引擎,创建的表的文件不一样。

create table t1(列名 数据类型,列名 数据类型,
)character set 字符集 collate 校验规则 engine 存储引擎;
//查看表结构
desc 表名

3.2修改表

这里的修改指的是新的覆盖旧的

//在t1中添加两条记录
insert into t1 values(1,‘a’,'2004-01-01');
insert into t1 values(2,‘b’,'2004-01-01');
//添加一个新的字段,用于保存图片路径
alter table t1 add assets varchar(100) comment '图片路径' after birthday;
//修改name 字段,将其长度改为60
alter table t1 modify name varchar(60);
//删除id列
alter table t1 drop id;
//修改表名为employee
alter table t1 rename to employee;//to可以省略

3.3删除表

drop table t1;

http://www.dtcms.com/a/589503.html

相关文章:

  • linux服务ping不通百度的解决过程【ping www.baidu.comping: unknown host】
  • 广州网站建设模板设计素材库
  • 深入浅出蓝桥杯:算法基础概念与实战应用(一)基础算法(上)
  • C++ vector 全面解析:从接口使用到底层机制
  • 亚马逊欧洲站vat怎么申请湖南企业做网站
  • vite-plugin-vue-mcp:在 Vue 3 + Vite 中启用 MCP,让 AI 理解并调试你的应用
  • 如何20元/年开通Termius专业版
  • 树莓派docker_freeCAD环境搭建
  • 数字营销网站建设佛山规划建设局网站
  • 【数据结构】位图和布隆过滤器
  • 对于数据结构:堆的超详细保姆级解析——下(堆排序以及TOP-K问题)
  • (* MARK_DEBUG=“true“ *)
  • 章丘哪里做网站做商城网站产品怎么分布
  • 使用docker部署Java项目
  • PyTorch深度学习进阶(三)(残差网络ResNet)
  • 02.第一个Python程序
  • 【Redis】Redis分布式缓存 - 分片集群
  • 论基层门户网站的建设vi设计手册完整版案例
  • Spring AI调用MCP服务
  • Goer系列-1-Docker基础命令学习
  • Tauri快速搭建环境
  • 光的压缩态:突破量子极限的 “超精准光源” 科普详解
  • 【C++】分治-归并排序算法习题
  • 网站开发服务合同印花税wordpress主题微博
  • 网站 功能呢杭州如何设计公司网站
  • Ansys SAM 与 Scade One:重塑安全关键系统开发的 MBSE 新范式
  • ADC的学习
  • 【智能体】扣子平台 ① 构建智能体工作流:从提示词到JSON配置的全流程实践
  • GitHub 热榜项目 - 日榜(2025-11-08)
  • 20_FastMCP 2.x 中文文档之FastMCP服务端认证:令牌验证详解