首页 > 数据库 >MySQL数据库

MySQL数据库

时间:2023-09-04 22:09:07浏览次数:44  
标签:name DATABASE -- 数据库 SHOW MySQL CREATE

正在学习软件测试--MySQL数据库,本文内容是我总结的一些MySQL发展史、概念和常用命令总结。

本文用的是服务器,运用Docker容器进行部署的MySQL

MySQL数据库

MySQL发展史

  • 数据库从20实际50年代中期开始,计算机应用有科学研究逐渐扩展到企业、行政等社会的各个领域,数据处理已成为计算机的主要英语领域
  • 20世纪60年代末,数据库技术作为数据处理中的一门新技术得到了快速发展
  • 数据库技术已经成为计算机信息系统与应用系统的主要技术和核心技术

数据库概念

  • 数据库(Database ,DB)是按照特定数据结构来组织、存储和管理数据的仓库
  • 数据库其实就是一个容器,它由表、视图、索引、触发器、存储过程、用户等对象组成,这些对象称之为数据库对象
  • 所以在使用这些对象之前,必须先进行创建数据库

数据库系统

  • 数据库系统(Database System,DBS)是一个时即可运行的储存、维护和应用系统提供数据的软件系统,是存储介质、处理对象和管理系统的集合体
  • 它通常有软件、数据库和数据管理员组成
  • DBS包含DBMS、DB、DBA和User

认识MySQL命令

命令规范

  • MySQL关键字与函数名全部大写;
  • 数据库名称、表名称、字段名等全部为小写字母及数字,并禁止与系统关键字相同;
  • MySQL数据表存储引擎统一为InnoDB;
  • MySQL数据库、数据表的编码方式统一为UTF8;
  • SQL语句必须以分号结尾;(英文状态下);
  • 所有数据表及字段都要添加注释;
  • 不强制使用外键参考;
  • 杜绝直接SELECT*读取全部字段;

标识符

  • 数据库及其对象的名称即为其标识符
  • 标识符必须以字母或下划线开头,包含字母、数字及下划线
  • 标识符可以引起来也可以不引起来,如果标识符是一个保留字或包含特殊字符,无论何时使用,必须将他引起来,标识符的引用符是反引号(``)
  • MySQL允许使用由单个标识符或多个标识符组成的名字,多部份的各组件之间应以英文句号分隔;

标识符

最大长的(字节)

允许的字符

数据库

64

目录名允许任何字符,不包括/、\或者.


64

文件名允许任何字符,不包括/、\或者.


64

所有字符

索引

64

所有字符

别名

255

所有字符

SQL语句

SQL属于结构化查询语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统,同时也是数据库脚本文件的扩展名

SQL语言分类

  • 数据定义语言(DDL),负责数据结构定义与数据库对象定义的语言
  • 数据操作语言(DML),负责用于添加、修改和删除数据表中的记录(行),也称为动作查询语言
  • 数据查询语言(DQL),负责进行数据查询而不会对数据本身进行修改的语句,也称为“数据检索”语句
  • 事务控制语句(PCL),负责管理数据库的事务,维护数据的一致性
  • 数据控制语句(DCL),负责用于权限的授权和收回操作

MySQL常用命令运用

我用的是Docker部署的MySQL环境,部署详细步骤在我的专栏《Linux系统》有一篇写有,在这里就简单写了哈。

部署Docker容器

先卸载之前版本
yum remove docker
设置Docker仓库
yum install -y yum-utils
设置稳定仓库,提升之后下载速度
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装Docker Engine-Community 和 containerd
yum install docker-ce docker-ce-cli containerd.io
#均选
启动Docker
#设置开机自启
systemctl enable docker
#启动Docker
systemctl start docker

Docker安装MySQL

下拉镜像
#这里我安装的是mysql:5.6版本的
docker pull mysql:5.6
创建一个新的容器并进行
#这里我容器名命名位mysql,映射端口号3306,数据库用户位root,数据库密码为123456
docker run --name=mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d --restart=always mysql:5.6
#查看容器是否运行
docker ps
进入容器
docker exec -it mysql bash
#进入MySQL终端
mysql -uroot -p123456

MySQL命令运用及练习

创建数据库
CREATE DATABASE [IF NOT EXISTS] db_name [DEFAULT] CHARACTER SET[=]charset_name;
查看创建好的数据库
SHOW CREATE DATABASE db_name;
Demo
-- 创建名为testdb的数据库
-- 创建名为testdba的数据库且字符编码设置为utf8
CREATE DATABASE testdb;
CREATE DATABASE testdba DEFAULT CHARACTER SET utf8;
-- 查看创建好的testdb数据库,如果没有指定字符编码默认使用db.pot文件中编码方式
SHOW CREATE DATABASE testdb;
-- 查看创建好的testdba数据库
SHOW CREATE DATABASE testdba;

MySQL数据库_Docker

查看当前数据库列表
SHOW DATABASES [LIKE '模式' | WHERE 表达式]
Demo
-- 显示当前服务器所有数据库
SHOW DATABASES;
-- 显示当前服务器下所有以字母t开头的数据库
SHOW DATABASES LIKE 't%';
-- 显示当前服务器下所有第二个字符为e的数据库
SHOW DATABASES LIKE '_e%';
打开数据库
USE db_name;
Demo
-- 打开/使用/切换数据库
USE testdb;
-- 显示当前数据库
SELECT DATABASE();
修改数据库
ALTER DATABASE db_name [DEFAULT] CHARACTER SET[=]charset_name;
Demo
-- 修改testdb 数据库编码方式为gb2312
ALTER DATABASE testdb  CHARACTER SET gb2312;
删除数据库
DROP DATABASE [IF EXISTS] db_name;
-- [IF EXISTS] 用于防止当数据库不存在时发生错误
#删除testdb数据库
DROP DATABASE testdb;
 -- 删除不想存在的数据库导致错误
 --ERROR 1008 (HY000): Can't drop database 'testdb'; database doesn't exist
 DROP DATABASE IF EXISTS testdb;
 -- 加上IF EXISTS
 -- Query OK, 0 rows affected, 1 warning (0.00 sec)
Demo
-- 关闭数据库,重新连接数据库
docker stop mysql
docker start mysql
-- 创建一个名为tsd 数据库
docker exec -it mysql bash
mysql -uroot -p123456
CREATE DATABASE tsd;
--验证是否创建成功
SHOW CREATE DATABASE tsd;
-- 使用tsd 数据库
USE tsd;
-- 查看当前使用的数据库
SELECT DATABASE();
-- 显示当前数据库服务器版本
SELECT VERSION();
-- 显示当前用户
SELECT USER();
-- 选择 testdba数据库
USE testdba();
-- 查看当前选择的数据库
SELECT DATABASE();
-- 创建一个名为tmooc数据库且字符编码设置为utf8并且验证数据库是否创建成功
CREATE DATABASE tmooc CHARSET SET utf8;
SHOW CREATE DATABASE tmooc;
-- 使用tmooc数据库
USE tmooc;
-- 修改数据库tmooc字符编码设置gb2312
ALTER DATABASE tmooc  CHARACTER set gb2312;
-- 删除tmooc数据库
DROP DATABASE tmooc;
-- 查看tmooc数据库是否删除成功
SHOW DATABASES;

MySQL数据库_软件测试_02

MySQL数据库_#MySQL#_03

MySQL数据库_#命令#_04

创建数据表
CREATE TABLE [IF NOT EXISTS] table_name(column_name1 data_type,column_name2 data_type);
Demo
--创建一个test01数据库
CREATE DATABASE test01 CHARSET set utf8;
USE test01;
-- 在test01数据库中创建user表
-- user字段包含 username,password,age
-- username,password为可变长度的字符串类型,范围在20
-- age为整数类型,范围使用系统默认
CREATE TABLE user(username VARCHAR(20),password VARCHAR(20),age INT);


-- 创建一张表,表明mall_pms
-- 用户id 为整数类型\用户名为字符串类型长度30\密码为字符串类型长度16
CREATE TABLE mall_pms(id INT,name CHAR(30),age INT,password CHAR(16));


-- 创建一张表,表名为crm_pms
-- 用户id 为整数类型\姓名为字符串类型长度为30\年龄为整数类型\性别为字符串类型,长度为3、工资为小数类型长度为7 保留两位小数                    
CREATE TABLE crm_pms(id INT,name CHAR(30),age INT,sex CHAR(3),pay DOUBLE(7,2));
查看指定数据库的表
SHOW TABLES [FROM db_name][LIKE '条件' | WHERE 表达式];

-- 查看当前数据库中所有数据表
SHOW TABLES;
-- 查看当前数据库中所有以m开头的数据表
SHOW TABLES LIKE 'm%';
-- 查看test01数据库下所有数据表
SHOW TABLES FROM test01;
-- 查看test01数据库下所有以字母c开头的数据表
SHOW TABLES FROM test01 LIKE 'c%';

MySQL数据库_Docker_05

查看数据表结构
SHOW COLUMNS FROM tbl_name [FROM db_name];

-- 查看crm_pms表结构
SHOW COLUMNS FROM crm_pms;
-- 查看test01数据库中的mall_pms的表结构
SHOW COLUMNS FROM mall_name FROM test01;

MySQL数据库_#命令#_06

很认真的在总结在编写,如果觉得有用的话就给点个赞鼓励一下呗,谢谢哦!

标签:name,DATABASE,--,数据库,SHOW,MySQL,CREATE
From: https://blog.51cto.com/u_16239770/7354884

相关文章

  • 人大金仓数据库设置大小写敏感
    人大金仓数据库设置大小写敏感初识人大金仓(Kingbase)是中国人民大学信息技术中心开发的一款关系型数据库管理系统(DBMS)。它是基于PostgreSQL开发的,具有与PostgreSQL兼容的语法和功能,同时也提供了一些特定的优化和扩展,以满足特定的商业需求。特点高度兼容性:人大金仓兼容Pos......
  • 14.MySQL数据库设计详解
    MySQL数据库设计需要根据具体的业务需求和数据模型来制定,以下是一个示例数据库设计,包括创建表、定义索引、外键关系和示例数据插入的MySQL代码。这个示例涵盖了一个简单的电子商务系统,包括用户、产品和订单数据。--创建用户表CREATETABLEusers(user_idINTAUTO_INCREM......
  • mysql create table ,store procedure,call sp
    //createtablet1//showcreatetablet1;CREATETABLE`t1`(`id`intNOTNULLAUTO_INCREMENT,`name`varchar(40)NOTNULLDEFAULT'',`author`varchar(40)NOTNULLDEFAULT'',`content`varchar(40)NOTNULLDEFAULT'......
  • 13.mysql数据修改操作
    以下是一些MySQL数据修改操作示例,包括单表查询和多表查询,以及相应的示例数据表。单表修改操作:假设我们有一个名为employees的表,用于存储员工信息:CREATETABLEemployees(employee_idINTPRIMARYKEY,first_nameVARCHAR(255),last_nameVARCHAR(255),......
  • openGauss学习笔记-60 openGauss 数据库管理-逻辑存储结构
    openGauss学习笔记-60openGauss数据库管理-逻辑存储结构openGauss的数据库节点负责存储数据,其存储介质也是磁盘,本节主要从逻辑视角介绍数据库节点都有哪些对象,以及这些对象之间的关系。数据库逻辑结构如图1。图1数据库逻辑结构图说明:Tablespace,即表空间,是一个目录,可......
  • MySQL数据库
    一、SQL1.简介SQL(StructuredQueryLanguage)结构化查询语言;它是一种数据库查询和程序设计语言,同时也是目前使用最广泛的关系型数据库操作语言。2.分类2.1DQL(DataQueryLanguage)数据查询语言DQL主要用于数据的查询,其基本结构是使用SELECT子句,FROM子句和WHERE子句的组......
  • MySQL常见命令配图文超详细(一)
    切记:终端里面全都要加分号!!!!!(英文状态)数据库其实就是一个容器,他由表、视图、索引、触发器、存储过程、用户等对象组成,这些对象称之为数据库对象。所以在使用这些对象之前,必须先进行创建数据库。数据库基础语句连接服务器命令:mysql-uroot-p123456查看当前所有存在的数据库:showdata......
  • Navicat里面数据库进行加密操作
    1、新建查询在里面将password字段使用md5函数进行加密:updateresetpassword=MD5(password)表格结果如下:2、在管理系统的mapper里面的sql语句进行修改然后再进行用户添加,添加进去的密码的数据就自动加密啦!3、读取密码数据登录的话,还是需要还原成为原来的密码就行判断......
  • 虹科干货 | 逻辑数据库可能已经无法满足需求了!
    不可否认,单个Redis实例已经不能满足实际生产中的需求了。为了解决由此带来的问题,何不试试用专用实例代替逻辑数据库呢?一、逻辑数据库可能已经无法满足需求的4个迹象1.您有个“吵闹的邻居”PS:“吵闹的邻居”指同一个RedisOSS实例中其它繁忙的逻辑数据库。场景:假设你是一家游戏公司的......
  • MySQL的Json类型个人用法详解
    前言虽然MySQL很早就添加了Json类型,但是在业务开发过程中还是很少设计带这种类型的表。少不代表没有,当真正要对Json类型进行特定查询,修改,插入和优化等操作时,却感觉一下子想不起那些函数怎么使用。比如把json里的某个键和值作为SQL条件,修改某个键下的子键的值,其中可能会遇到数组形式......