数据库【库,表操作】

news2024/11/27 16:34:23

目录

  • 简单了解
    • 1.连接数据库服务器
    • 2.创建数据库
    • 3.创建表
    • 4.使用数据库
    • 5.数据库框架
    • 6.SQL的分类
    • 7.存储引擎
  • 库操作
    • 1.创建数据库
    • 2.查看系统默认字符集以及校验规则
    • 3.查看数据库支持的字符集和校验规则
    • 4.查看数据库
    • 5.显示数据库语句
    • 6.删除数据库
    • 7.修改数据库
    • 8.备份和恢复
    • 9.查看连接情况
  • 表操作
    • 1.创建表
    • 2.查看表结构
    • 3.修改表结构
    • 4.修改表名
  • 总结

简单了解

1.连接数据库服务器

mysql -h 127.0.0.1 -P 3306 -u root -p

  • 其中-h是服务器的IP地址,没有填写127.0.0.1默认连接本地
  • 3306是端口号
  • root是用户名
  • -p 后面可以跟写密码

2.创建数据库

create database 数据库名字;
创建数据库,本质创建一个目录。

就是在 /var/lib/mysql路径下创建了dome1数据库(目录)。
路径可以在/etc/my.cnf中查看MySQL的配置文件。

3.创建表

create table 表名(...);
在这里插入图片描述
本质是在使用的数据库目录中创建了文件。

4.使用数据库

use 数据库名字;

5.数据库框架

在这里插入图片描述

6.SQL的分类

  • DDL :数据定义语言,用来维护存储数据的结构,代表指令有(create、dorp、alter)
  • DML :数据库操纵语言,用来对数据进行操作,代表指令有(insert、delete、updata)
  • DCL :数据库控制语言,主要负责权限管理和事务,代表指令有(grant、revoke、commit)

7.存储引擎

存储引擎是:数据库管理系统如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。MySQL的核心就是插件式存储引擎,支持多种存储引擎。

查看存储引擎
show engines;

库操作

1.创建数据库

create database if not exists 数据库名字;
后面可以跟写charset utf8collate utf8_general_ci
表示字符集和校对规则。

2.查看系统默认字符集以及校验规则

show variables like 'character_set_database';
show variables like 'collation_database';

3.查看数据库支持的字符集和校验规则

show charset;
show collation;

4.查看数据库

show databases;
在这里插入图片描述

5.显示数据库语句

show create database 数据库名字;
在这里插入图片描述

6.删除数据库

drop database 数据库名字;
删除后,该数据库对应的表数据全部被删。

7.修改数据库

alter database 数据库名字 [...];

8.备份和恢复

mysqldump -P 3306 -p 密码 -B 数据库名字 > 数据库备份存储的文件路径;
如:
在这里插入图片描述
source ./dome.sql;
在这里插入图片描述
注意:

  • 如果备份的不是整个数据库,而是其中的一张表 mysqldump -u root -p 数据库名 表名1 表名2 > D:/mytest.sql
  • 同时备份多个数据库 mysqldump -u root -p -B 数据库名1 数据库名2 ... > 数据库存放路径
  • 如果备份一个数据库时,没有带上-B参数, 在恢复数据库时,需要先创建空数据库,然后使用数据库,再使用
    source来还原。

9.查看连接情况

show processlist;
在这里插入图片描述
可以告诉我们当前有哪些用户连接到我们的MySQL,如果查出某个用户不是你正常登陆的,很有可能你的数据库被人入侵了。以后大家发现自己数据库比较慢时,可以用这个指令来查看数据库连接情况。

表操作

1.创建表

create table user(
     id int,
     name varchar(11) commit '用户名',
     pssword varchar(11) commit '用户密码'
)character set utf8;

2.查看表结构

desc 表名;
在这里插入图片描述

3.修改表结构

先插入两条记录

insert into user (id,name,pssword) values (1,'猫爷','123456'),(2,'狗哥','654321');

select * from user;
+------+--------+---------+
| id   | name   | pssword |
+------+--------+---------+
|    1 | 猫爷   | 123456  |
|    2 | 狗哥   | 654321  |
+------+--------+---------+
						1、增加表中增加一个字段

在该表中添加一个年龄字段

alter table user add age int comment '用户的年龄';

desc user;
+---------+-------------+------+-----+---------+-------+
| Field   | Type        | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| id      | int(11)     | YES  |     | NULL    |       |
| name    | varchar(11) | YES  |     | NULL    |       |
| pssword | varchar(11) | YES  |     | NULL    |       |
| age     | int(11)     | YES  |     | NULL    |       |
+---------+-------------+------+-----+---------+-------+

select * from user;
+------+--------+---------+------+
| id   | name   | pssword | age  |
+------+--------+---------+------+
|    1 | 猫爷   | 123456  | NULL |
|    2 | 狗哥   | 654321  | NULL |
+------+--------+---------+------+

新添加字段后,行记录中的该字段为NULL。

语法:ALTER TABLE tablename ADD (column datatype [DEFAULT expr][,column datatype]...);

						2、删除表中的一个字段
alter table user drop age;

desc user;
+---------+-------------+------+-----+---------+-------+
| Field   | Type        | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| id      | int(11)     | YES  |     | NULL    |       |
| name    | varchar(11) | YES  |     | NULL    |       |
| pssword | varchar(11) | YES  |     | NULL    |       |
+---------+-------------+------+-----+---------+-------+

如果删除了有数据的字段,那么数据也就删除了。
语法:ALTER TABLE tablename DROP (column);

					3、修改表的一个字段
alter table user modify name varchar(33) comment '用户名';

desc user;
+---------+-------------+------+-----+---------+-------+
| Field   | Type        | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| id      | int(11)     | YES  |     | NULL    |       |
| name    | varchar(33) | YES  |     | NULL    |       |
| pssword | varchar(11) | YES  |     | NULL    |       |
+---------+-------------+------+-----+---------+-------+

语法:ALTER TABLE tablename MODIfy (column datatype [DEFAULT expr][,column datatype]...);

其实不建议对已经创建好了的表修改其结构。第一,可能导致数据的丢失;第二,影响到一些业务逻辑,可能你修改了表结构,影响到了上层代码里面的逻辑,导致多读数据或者少读等。

					4、修改列名

把 name 列名修改 mingzi(拼音)

 alter table employee change name mingzi varchar(60); --新字段需要完整定义

desc employee;
+---------+-------------+------+-----+---------+-------+
| Field   | Type        | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| id      | int(11)     | YES  |     | NULL    |       |
| mingzi  | varchar(60) | YES  |     | NULL    |       |
| pssword | varchar(11) | YES  |     | NULL    |       |
+---------+-------------+------+-----+---------+-------+

4.修改表名

将表名user 修改为 employee

alter table user rename to employee;

其中 to 可以省略

修改完成
在这里插入图片描述

总结

记录学习MySQL的过程,不会止步于此,期待后文吧。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/537993.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

20 SQL——多表查询 (消除无效笛卡尔积)

create table dept(id int primary key auto_increment,name varchar(15))comment 部门;insert into dept(id, name) values (1,研发部),(2,市场部),(3,财务部),(4,销售部),(5,总经办),(6,人事部);create table staff (id int primary key auto_increment commentID,name …

【面试篇】Redis持久化面试题

文章目录 Redis持久化🙎‍♂️面试官:什么是Redis持久化? AOF日志AOF日志原理🙎‍♂️面试官:AOF日志是怎么工作的/AOF写入磁盘的流程?🙎‍♂️面试官: 刚刚说到了Redis先执行写入的…

Discourse Math 插件

概述Discourse Math 使用 MathJax (默认) 或者 KaTeX 来让你在你的 Discourse 中使用数学公式。 仓库链接GitHub - discourse/discourse-math: Official MathJax support for Discourse Install Guide如何在 Discourse 中安装插件 这个插件是 Discourse 官方提供的插件&#x…

javascript基础一:Javscript数组的常用方法有哪些?

在日常开发中,我们对数组可以说操作最多,这里我们来整理下数组的一下最常用的方法 数组基本操作可以归纳为 增、删、改、查,需要留意的是哪些方法会对原数组产生影响,哪些方法不会 下面对数组常用的操作方法做一个归纳 一、基本…

ChatGPT国内免费使用的方法有哪些?

目录 一、ChatGpt是什么? 二、ChatGPT国内免费使用的方法: 第一点:电脑端 第二点:手机端 三、结语: 一、ChatGpt是什么? ChatGPt是美国OpenAI [1] 研发的聊天机器人程序 。更是人工智能技术驱动的自然语…

【C++数据结构】二叉搜索树的使用和模拟实现及其应用--K模型和KV模型

文章目录 一、二叉搜索树的概念二、二叉搜索树的操作及其实现(非递归)1.二叉搜索树节点和类的定义2.二叉搜索树的构造函数3.二叉搜索树的拷贝构造4.二叉树搜索树的赋值重载5.二叉搜索树的析构函数6.二叉搜索树的中序遍历7.二叉搜索树的查找8.二叉搜索树的插入9.二叉搜索树的删除…

瑞吉外卖 - 分页查询分类功能(12)

某马瑞吉外卖单体架构项目完整开发文档,基于 Spring Boot 2.7.11 JDK 11。预计 5 月 20 日前更新完成,有需要的胖友记得一键三连,关注主页 “瑞吉外卖” 专栏获取最新文章。 相关资料:https://pan.baidu.com/s/1rO1Vytcp67mcw-PD…

【Android 面经分享】阿里技术专家的 5年 Android 开发的求职之路

作者:yechaoa 来源:https://juejin.cn/post/6996551155220217869 前言 前段时间在看机会,本文就是我对求职过程的一个总结。 同时,也作为一个面试官,来说说求职中需要注意的点。 各大厂的面试会考核哪些知识点5年开发应该具备哪些技术要点…

chatgpt赋能Python-pycharm取消venv

PyCharm取消venv:一种更简便的虚拟环境管理方式 虚拟环境是Python开发中的重要组成部分之一。它可以让您在同一台机器上使用不同的Python版本、不同的库以及不同的项目而不会干扰彼此之间的功能独立性。而在Python开发中,venv是创建虚拟环境的常用方式之…

chatgpt赋能Python-pycharm怎么关联

Pycharm怎么关联——提高Python开发效率的关键步骤 作为一名有10年Python编程经验的工程师,我深知在日常开发中如何提高Python的编程效率至关重要。而Pycharm则是Python领域最常用的IDE之一,其强大的代码编辑和调试功能,深受开发者的喜爱。 …

Linux驱动开发 --- CCF时钟框架

0. CCF时钟框架概览 linux内核的CCF时钟框架可以分为三层,每一层的职责以及彼此的关系如下图所示 对CCF框架的分析也将以如下几个方向入手: consumer(也就是device driver)如何使用CCFprovider如何借助CCF管理系统的时钟资源CC…

前端BFC

一、首先我们要先了解常见的定位方案,总共3种(普通流、浮动、绝对定位) 而BFC是属于普通流的 我们可以把BFC看作为页面的一块渲染区域,他有着自己的渲染规则 简单来说BFC可以看作元素的一种属性,当元素拥有了BFC属性…

ChatGPT:2. 使用OpenAI创建自己的AI网站:1. 初探API

使用OpenAI创建自己的AI网站 如果你还是一个OpenAI的小白,有OpenAI的账号,但想调用OpenAI的API搞一些有意思的事,那么这一系列的教程将仔细的为你讲解如何使用OpenAI的API制作属于自己的AI网站。博主只能利用下班时间更新,进度慢…

自学spring个人笔记

目录 如何学习spring? 如何查看自己电脑是否安装了spring boot Spring Boot CLI安装成功 springboot的版本2.7.12(SNAPSHOT)与2.7.11有什么区别? 报错解决 Plugin org.springframework.boot:spring-boot-maven-plugin:not found 在maven pom.xml中…

【AFNetWorking源码(二)AFURLSessionManger和AFHTTPSessionManager】

前言 学习了Mananger的初始化和以GET请求为例的过程,发现整个过程离不开AFHTTPSessionManager和AFURLSessionManger的某些方法。这两个是AFN的重要的网络通信模块内容,对它们作揖详细的学习。 AFURLSessionManager和AFHTTPSessionManager都是AFNetwork…

chatgpt赋能Python-mac电脑安装python

在Mac电脑上轻松安装Python Python是一种高级编程语言,常用于数据科学、机器学习和Web开发等领域。如果你是一名Mac电脑用户,那么安装Python将会让你受益匪浅。本文将提供详细的操作步骤,让你轻松安装Python并开始学习编程。 第一步&#x…

【Linux】进程地址空间(带你认清内存的本质)

🔥🔥 欢迎来到小林的博客!!       🛰️博客主页:✈️小林爱敲代码       🛰️博客专栏:✈️Linux之路       🛰️社区 :✈️ 进步学堂       &a…

Linux:chmod chown 权限管理

基础权限有以下三个 r 读 4 w 写 2 x 执行 1 - 无此权限 0 开头的第一个字母是这个的类型 d 目录 - 普通文件 l 链接文件 常见的三种 只不过今天不讲这个 从第二个字母开始看起 三个字母为一组 一共…

【EfficientDet】《EfficientDet:Scalable and Efficient Object Detection》

CVPR-2020 文章目录 1 Background and Motivation2 Related Work3 Advantages / Contributions4 Method4.1 BiFPN4.2 EfficientDet 5 Experiments5.1 Datasets5.2 EfficientDet for Object Detection5.3 EfficientDet for Semantic Segmentation5.4 Ablation Study 6 Conclusio…

RocketMQ你不得不了解的 Rebalance机制源码分析

这里是weihubeats,觉得文章不错可以关注公众号小奏技术,文章首发。拒绝营销号,拒绝标题党 RocketMQ版本 version: 5.1.0 RocketMQ中consumer消费模型 在了解RocketMQ的Rebalance机制之前,我们必须先简单了解下rocketmq的消费模型 我们知道…