mysql基本命令操作

news2024/9/22 9:58:02

MySQL数据库管理

SQL语句

SQL语句用于维护管理数据库,包括数据查询、数据更新、访问控制、对象管理等功能
DDL:数据定义语言,用于创建数据库对象,如库、表、索引等
DML:数据操纵语言,用于对表中的数据进行管理,用来插入、删除和修改数据库中的数据
DQL:数据查询语言,用于从数据表中查找符合条件的数据记录
DCL:数据控制语言,用于设置或者更改数据库用户或角色权限(数据控制语句,用于控制不通数据段直接的许可和访问级别的语句,这些语句定义了数据库、表、字段、用户的访问权限和安全级别,如COMMIT、ROLLBACK、GRANT、REVOKE)

常用的数据类型

int :整型

float :单精度浮点 4字节32位

double :双精度浮点 8字节64位

char :固定长度的字符类型

varchar :可变长度的字符类型

text :文本

image :图片

decimal(5,2) :5个有效长度数字,小数点后面有2位

查看数据库结构

show databases;     #查看当前服务器中的数据库
use 数据库名;         #切换数据库
show tables;         #查看数据库中包含的表
desc(desribe) 表名;            #查看表的结构

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

创建及删除数据库和表

create database 数据库名;     #创建新的数据库
create table 表名 (字段1 数据类型,字段2 数据类型,。。。。PRIMARY KEY (主键名]);  #创建新的表
drop table   表名;            #删除指定的数据表
drop database 数据库名;        #删除指定的数据库

创建库:在这里插入图片描述

创建表:

在这里插入图片描述

删除指定表:

在这里插入图片描述

删除指定数据库:

在这里插入图片描述

管理表中的数据记录

insert into 表名(字段1,字段2,。。。。)values(字段1的值,字段2的值,。。。。); #向数据表中插入新的数据记录
select *from 表名;                                   #查询表的全部数据
select 字段1,字段2 from 表名 where 条件表达式;         #查询指定数据
select *from 表名\G                                   #以列表方式竖向显示
select *from 表名 limit 2;                           #只显示前两行
select *from 表名 limit 3,2;                        #显示第三行之后的前两行,这里显示4,5两行
update 表名 set 字段名1=字段值1 where 条件表达式;        #修改、更新数据表中的数据记录
delect from 表名 where 条件表达式;                     #在数据表中删除指定的数据记录

修改表中的数据:

在这里插入图片描述

删除表中指定数据:

在这里插入图片描述

修改表名和表结构

alter table 旧表名 rename 新表名;                           #修改表名
alter table 表名  add 字段名 数据类型 属性;                              #扩展表结构(增加字段)
alter table 表名 change 旧字段名 新字段名 数据类型 属性;      #修改字段(列)名
                                                           #CHANGE可修改字段名、数据类型、约束等所有项。
alter table 表名 drop 字段名;                               #删除字段

修改表名:

在这里插入图片描述
在这里插入图片描述

添加字段:

在这里插入图片描述

在字段里添加内容:

在这里插入图片描述

修改字段名:

在这里插入图片描述

删除字段:

在这里插入图片描述

自增

auto_increment:表示此字段为自增长字段,即每条记录自动递增1,默认从1开始递增;自增长字段数据不可以重复;自增长字段必须是主键;如添加的记录数据没有指定此字段的值且添加失败也会自动递增一 次

填充

int(4) zerofill:表示若数值不满4位数,则前面用“0”填充,例0001

克隆表

法一:先复制表再导入数据
create table 新表名 like 旧表名;          #通过like方法,复制旧表结构生成新表
insert into select *from 旧表名;         #导入数据
法二:复制表的同时导入数据
create table 新表名 (select *from 旧表名);

克隆表名:

(方法一)

mysql> create table zhifubao like yuebao;

在这里插入图片描述
在这里插入图片描述

复制表的同时导入数据:

(方法二)

mysql> create table zhifubao (select * from yuebao);

在这里插入图片描述

清空表,删除表内的所有数据

法一:delete删除
delect from 表名;
#DELETE清空表后,返回的结果内有删除的记录条目;DELETE工作时是一行一行的删除记录数据的;如果表中有自增长字段,使用DELETE FROM 删除所有记录后,再次新添加的记录会从原来最大的记录 ID 后面继续自增写入记录。
法二:truncate删除
truncate table 表名;
#TRUNCATE 清空表后,没有返回被删除的条目;TRUNCATE 工作时是将表结构按原样重新建立,因此在速度上 TRUNCATE 会比 DELETE 清空表快;使用 TRUNCATE TABLE 清空表内数据后,ID 会从 1 开始重新记录。

清空表:(方法一)

mysql> desc zhifubao;

在这里插入图片描述

清空表:(方法二)

mysql> truncate table zhifubao;

在这里插入图片描述
在这里插入图片描述

创建临时表

临时表创建成功之后,使用SHOW TABLES命令是看不到创建的临时表的,临时表会在连接退出后被销毁。 如果在退出连接之前,也可以可执行增删改查等操作,比如使用 DROP TABLE 语句手动直接删除临时表。

create temporary table 表名(字段1 数据类型,字段2 数据类型。。。。);
mysql> create temporary table meituan (id int(4) not null,name char(10) not null,passwd varchar(6) not null,primary key (name));

在这里插入图片描述
在这里插入图片描述

创建外键约束,保证数据的完整性和一致性

主键表和外键表的理解:

(1)以公共关键字作主键的表为主键表(父表、主表)

(2)以公共关键字作外键的表为外键表(从表、外表)

注意:与外键关联的子表的字段必须设置为主键。要求主表外键字段和子表的字段具备相同的数据类型、字符长度和约束。

创建外键约束的步骤

创建主键表和从键表
mysql> create table ky23(id int,name char(10));  #主
mysql> create table ky24(id int,name char(10),sex char(2));  #从

在这里插入图片描述

为主键添加一个主键约束。主键名建议以“PK_”开头
mysql> alter table ky23 add constraint PK_id primary key(id);

在这里插入图片描述

为从表添加外键,外键名建议以“FK_”开头,并与主键表建立关联
mysql> alter table ky24 add constraint FK_id foreign key (id) references ky23 (id);

在这里插入图片描述

插入新的数据记录时,要先主表再从表
mysql> insert into ky23(id,name) values(1,'闻少');
mysql> insert into ky24(id,name) values(1,'熊少');
mysql> select * from ky23;
mysql> select * from ky24;

在这里插入图片描述

删数数据记录时,要先从表再主表,也就是说删除主键表时必须先删除其他与之关联的表
mysql> delete from ky23 where id=1;  #删除主表失败
mysql> delete from ky24 where id=1;
mysql> delete from ky23 where id=1;
mysql> select * from ky23;
mysql> select * from ky24;

在这里插入图片描述

查看和解除外键约束以及删除外键
mysql> show create table ky24\G; #查看从表信息
mysql> alter table ky24 drop foreign key FK_id;  #删除外键约束
mysql> alter table ky24 drop key FK_id;  #删除外键
mysql> show create table ky24\G;  #再次查看

在这里插入图片描述

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

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

相关文章

[附源码]计算机毕业设计JAVA民宿网站管理系统

[附源码]计算机毕业设计JAVA民宿网站管理系统 项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybati…

Android 10.0 11.0 12.0 启动模拟器教程

Android 10.0 11.0 12.0 启动模拟器教程 一、android 12.0 模拟器二、创建模拟器设备三、创建删除路经文件夹avd和配置环境变量四、启动模拟器一、android 12.0 模拟器 Android 10.0 11.0 12.0 启动模拟器都行,我选择android 12.0 模拟器 二、创建模拟器设备 第一步骤:在 …

i211网卡在Monterey及以上驱动方法

两种方法:一、驱动换成别人修改后的AppleIGB.kext。这么做一般情况用着没问题。但是如果你虚拟机桥接到这个网卡,可以获取到IP,网关等所有参数,就是不能上网 二、刷网卡固件,将i211刷成i210,直接免驱。 macos下操作 …

Brooks曾经在UMLChina网站留过言-回忆和送别(1)

(抱歉,有点标题党。) 《人月神话》作者Frederick Phillips Brooks Jr. 于2022年11月17日逝世,享年91岁。 图1 摘自 https://christianityandscholarship.org/event/making-things-ncsu-10-27-2015/ 这个岁数即使在今天也算是“…

玩转MySQL:都2022年了,这些数据库技术你都知道吗

引言 MySQL数据库从1995年诞生至今,已经过去了二十多个年头了,到2022.04.26日为止,MySQL8.0.29正式发行了GA版本,在此之前版本也发生了多次迭代,发行了大大小小N多个版本,其中每个版本中都有各自的新特性&…

亚马逊差评怎么删?常用的几种删差评方法介绍

正常情况下每个电商产品都是有好评和差评的,如果一味的都是好评,那么也显的很假,但是差评太多也会影响销售,特别是面对那些恶意差评,这会严重的影响客户下单,因此对于恶意差评,我们还是的想办法…

【Java八股文总结】之Java Web

文章目录Java Web一、Java Web介绍Q:什么是Java Web?Q:Java Web的工作原理?Q:Java Web的知识体系二、JDBC1、JDBC的使用步骤2、JDBC API详解1、DriverManager2、Connection3、Statement4、ResultSet5、PreparedStateme…

连续词袋模型(Continous bag of words, CBOW)

将高维度的词表示转换为低纬度的词表示方法我们称之为词嵌入(word embedding)。 CBOW是通过周围词去预测中心词的模型。(Skip-gram是用中心词预测周围词) CBOW模型的结构 最左边为上下文词,这些词用One-hot编码表示&a…

codeforces:C. Set Construction【构造 + 入度观察】

目录题目截图题目分析ac code总结题目截图 题目分析 题目要找n个集合给出一个矩阵b如果bij 1,表示第i个集合为第j个集合的真子集bij 0,表示不是真子集寻找集合间的关系,g记录下一个更大的集合,smaller表示被本集合包含的集合的…

以数据为中心的标记语言-->yaml

目录 一.yaml 介绍 二.yaml 基本语法 三.数据类型 1.字面量 2.对象 3.数组 四.yaml 应用实例 1.需求: 2.需求图解 3.代码实现 五.yaml 使用细节 一.yaml 介绍 YAML 是"YAML Aint a Markup Language"(YAML 不是一种标记语言) 的递归缩写。在开发 的这种语言…

每日一练2——C++排序子序列问题倒置字符串问题

文章目录排序子序列问题思路:代码:倒置字符串思路:方法一:代码:方法二:代码:排序子序列问题 题目链接 这道题题意不难理解,但是想写对还是有很多细节的。 本题要求解的是排序子序列…

python之正则表达式【简化版】

大家好,我们今天说一说正则表达式,在之前我们也介绍了关于正则表达式,今天,我们来深入的了解一下。我们知道正则表达式是处理字符串的强大工具,它有自己的语法结构,什么匹配啊,都不算什么。 正…

JavaIO流:BIO梳理

BIO(blocking I/O) : 同步阻塞,服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器端就需要启动一个线程进行处理,如果这个连接不做任何事情会造成不必要的线程开销,可以通过线程池机…

Java8新特性 Stream流

Stream流 在Java 8中,得益于Lambda所带来的函数式编程,引入了一个全新的Stream概念,用于解决已有集合类库既有的弊端。 传统集合的多步遍历代码几乎所有的集合(如 Collection 接口或 Map 接口等)都支持直接或间接的遍…

我这样写代码,比直接使用 MyBatis 效率提高了 100 倍

对一个 Java 后端程序员来说,mybatis、hibernate、data-jdbc 等都是我们常用的 ORM 框架。它们有时候很好用,比如简单的 CRUD,事务的支持都非常棒。但有时候用起来也非常繁琐,比如接下来我们要聊到的一个常见的开发需求&#xff0…

【知识图谱论文】调整元知识图信息以在少样本关系上进行多跳推理

文章题目:Adapting Meta Knowledge Graph Information for Multi-Hop Reasoning over Few-Shot Relations时间:2019 摘要 多跳知识图 (KG) 推理是一种有效且可解释的方法,用于在查询回答 (QA) 任务中通过推理路径预测目标实体。 大多数以前…

做交互设计都有哪些需要掌握的思维方式

由于目前的环境对这个细分领域仍然缺乏了解,我希望在这篇文章中写一些交互设计所需的思维方式。 ​ 1.可用性优先,视觉靠边 一个功能个功能应该能够使用和使用,以便有人关心它是否好看。审美挑剔的用户实际上比你想象的要少得多。当然&#…

机械工程基础知识点汇总

第一章 常用机构 一、零件、构件、部件 零件,是指机器中每一个最基本的制造单元体。 在机器中,由一个或几个零件所构成的运动单元体,称为构件。 部件,指机器中由若干零件所组成的装配单元体。 二、机器、机构、机械 机器具有以下特…

智能捡乒乓球机器人

本文素材来源于物理与电子电气工程学院 作者:丁文龙 、王小军、任剑杰、张钊铭 指导老师:康彩 一、项目简介 随着人们对机器人技术智能化本质认识的加深,机器人技术开始源源不断地向人类活动的各个领域渗透。在这其中,服务机器人…

数字图像处理(十二)最大熵算法

文章目录前言一、熵是什么?1.信息量如何计算?2.熵如何计算?二、最大熵方法1.设计思想2.算法步骤3.C代码4.实验结果参考资料前言 在图像分析中,通常需要将所关心的目标从图像中提取出来,这种从图像中某个特定区域与其他…