MySQL数据库管理(一)

目录

1.MySQL数据库管理

1.1 常用的数据类型​编辑

1.2 char和varchar区别

2. 增删改查命令操作

2.1 查看数据库结构

2.2 SQL语言

2.3 创建及删除数据库和表

2.4 管理表中的数据记录

2.5 修改表名和表结构

3.MySQL的6大约束属性


1.MySQL数据库管理

1.1 常用的数据类型

1.2 char和varchar区别

CHAR和VARCHAR类型类似,但它们保存和检索的方式不同。它们的最大长度和是否尾部空格被保留等方面也不同,在存储或检索过程中不进行大小写转换。

下表显示了将各种字符串值保存到CHAR(4)和VARCHAR(4)列后的结果,说明了CHAR和VARCHAR之间的差别:

字节大小

char无论是否有值,都会占用固定长度的字节大小,保存在磁盘上都是4字节。
varchar在保存字符时,默认会加一个隐藏的结束符,因此结束符会多算一个字节。

优劣比较

varchar比char节省磁盘空间。
但varchar类型的数据读写速度比char慢,因为char是连续的磁盘空间,·而varchar在多次增删改查中会产生一些磁盘空间碎片。

2. 增删改查命令操作

mysql -u root -pabc123   #登录数据库

2.1 查看数据库结构

(1)查看当前的 MySQL 版本信息及连接用户名

SELECT VERSION();
SELECT USER();

(2) 查看数据库中包含的表

SHOW DATABASES;						#大小写不区分,分号“;”表示结束

(3) 查看数据库中包含的表

use 数据库名;   #切换库
show tables;    #查看库中的表
show tables from 数据库;     #不登录数据库,直接查看数据库中的表信息


(4)查看表的结构(字段)

use 数据库名;               #切换数据库
describe 表名               #查看数据库中的表结构信息
describe  数据库名.表名;    #不登录数据库,查看数据库中的表结构信息
可缩写成:desc 表名;



2.2 SQL语言

SQL语句用于维护管理数据库,包括数据查询、数据更新、访向控制、对象管理等功能.

SQL语言分类:

DDL: 数据定义语言,用于创建数据库对象,如库、表、索引等.

DML:数据操纵语言,用于对表中数据进行管理(增、删、改).

DQL:数据查询语言,用于从数据表中查找符合条件的数据记录.

DCL:数据控制语言,用于设置或者更改数据库用户或角色权限.

2.3 创建及删除数据库和表

(1)创建新的数据库

create database 数据库名;

(2)创建新的表

use  数据库名;
create table 表名 (字段1 数据类型,字段2 数据类型,.....,[primary key(设为主键的字段名)]);     #主键一般选择能代表唯一性的字段不允许取空值(NULL),一个表只能有一个主键

(3)删除指定的数据表

use  数据库名;
drop table [数据库名].表名;           #如不用use进入库中,则需加上数据库名
drop table 


(4)删除指定的数据库

drop  database 数据库名;

2.4 管理表中的数据记录

(1)向数据表中插入新的数据记录

INSERT INTO 表名(字段1,字段2[,...]) VALUES(字段1的值,字段2的值,...);

(2)查询数据记录

use xy101  #进入数据库
SELECT 字段名1,字段名2[,...] FROM 表名 [WHERE 条件表达式];
select * from xy102;
select name,age from xy102 where sex='男';
select * from xy102 where id>=2 and id<=3;
select * from xy102 where id=1 or id=3;
select * from xy102 limit 2;       #只显示头2行
select * from xy102 limit 1,2;    #显示第1行后的前2行(不包括第1行,也就是第2、3行)
select * from xy102\G      #以列表方式竖向显示,结尾没有分号,在Xshell中可以看到效果,在Navicat中无法实现







(3)修改、更新数据表中的数据记录

update 表名 set 字段名1=字段值1, [字段名2=字段值2]  [WHERE条件表达式1];
update xy102 set id=4 where age=24;

(3)在数据表中删除指定的数据记录

delete from 表名 [where条件表达式];
delete from xy102 where id=4;

2.5 修改表名和表结构

(1)修改表名

alter table 旧的表名 rename 新的表名
alter table xy101 rename xy110;

(2)扩展表结构(增加字段)

alter table 表名 add 字段 数据类型  default ' 默认值' ;
alter table xy110 add hobby varchar(40) default '和平';
#default '和平':表示此字段设置默认值,爱好不明,可与NOT NULL配合使用


(3)修改字段(列)名,唯一键

alter table 表名 change 旧列名 新列名 数据类型  [unique key];
alter table xy110 change age aage int(11) unique key;#unique key代表唯一键,不可以添加相同值,一张表可以有多个唯一值。

(4)删除字段

alter table 表名 drop 字段名;
alter table xy110 drop hobby;

(5)添加、删除约束属性

alter table xy110 drop primary key;
alter table xy110 add primary key(name);

3.MySQL的6大约束属性

not null:非空约束

auto_increment:自增约束

案例扩展:

use mybl;
create table if not exists info (				  #表示检测要创建的表是否已存在,如果不存在就继续创建。
id int(4) zerofill primary key auto_increment,    #指定主键的第二种方式。其中int(4) zerofill表示若数值不满4位数,则前面用"0"填充,例如0001。
name varchar(10) not null default '匿名',
cardid int(18) not null unique key,
hobby varchar(50));

注意: int(N) 需要和zerofill primary配合使用,否则N的值没有意义

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

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

相关文章

使用CSS常见问题解答卡片

常见问题解答卡片 效果展示 CSS 知识点 CSS 选择器的使用background 渐变背景色运用CSS 综合知识运用 页面整体布局 <div class"container"><h1>经常问的问题</h1><!-- 这里只是展示一个项目 --><div class"tab"><in…

Qwen-Agent:Qwen2加持,强大的多代理框架 - 函数调用、代码解释器以及 RAG!

✨点击这里✨&#xff1a;&#x1f680;原文链接&#xff1a;&#xff08;更好排版、视频播放、社群交流、最新AI开源项目、AI工具分享都在这个公众号&#xff01;&#xff09; Qwen-Agent&#xff1a;Qwen2加持&#xff0c;强大的多代理框架 - 函数调用、代码解释器以及 RAG&…

学会python——显示进度条(python实例五)

目录 1、认识Python 2、环境与工具 2.1 python环境 2.2 Visual Studio Code编译 3、进度条显示 3.1 代码构思 3.2 代码示例 3.3 运行结果 4、总结 1、认识Python Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。 Python 的设计具有很强的可读…

QT QFileDialog文件选择对话框

QT QFileDialog文件选择对话框 选择txt或者cpp文件&#xff0c;读取内容并显示 参考&#xff1a; QT写入文件与读取文件内容_qt往一个文件写东西-CSDN博客 #include "QtFilePreview.h" #include "qfiledialog.h" #include "qfile.h" #includ…

制作自己的 @OnClick、@OnLongClick(告别 setOnClickListener,使用注解、反射和动态代理)

前言 前面我们说过 ButterKnife 这个库&#xff0c;这个库实现不仅实现了 View 的绑定&#xff0c;而且还提供了大量的注解如 BindView、OnClick、OnLongClick 等来简化开发过程中事件绑定。而这些功能的实现是通过 APT 也就是注解处理器&#xff0c;在编译期间生成 Java 代码…

MyBatis 的注解式开发

1. MyBatis 的注解式开发 文章目录 1. MyBatis 的注解式开发2. 准备工作3. Insert 插入/添加4. Delete 删除5. Update 更新/修改6. Select 查询7. 总结&#xff1a;8. 最后&#xff1a; MyBatis 中也提供了注解式开发方式&#xff0c;采用注解可以减少Sql映射文件的配置。 当然…

【React】useMemo

什么是 useMemo&#xff1f; useMemo 是 React 中的一个 Hook&#xff0c;它可以用来缓存计算结果&#xff0c;并在后续的渲染中重复利用这些计算结果。useMemo 接收两个参数&#xff1a;一个函数和一个依赖数组。当依赖数组中的任何一个值发生变化时&#xff0c;useMemo 会重新…

redis设计与实现(五)RDB与AOF持久化

RDB持久化 因为Redis是内存数据库&#xff0c;它将自己的数据库状态储存在内存里面&#xff0c;所以如果不想办法将储存在内存中的数据库状态保存到磁盘里面&#xff0c;那么一旦服务器进程退出&#xff0c;服务器中的数据库状态也会消失不见。 为了解决这个问题&#xff0c;…

如何定位检查不到的元素

光标离开输入框时&#xff0c;输入框立刻消失&#xff0c;导致无法查看该元素的html标签属性&#xff0c;如何定位这种元素呢&#xff1f;有两种方法&#xff0c;一种是通过事件监听器&#xff0c;另一种是通过网络接口抓包 1、首先定位到搜索按钮 这个搜索的按钮&#xff0c;当…

鸿蒙低代码开发的局限性

在版本是DevEco Studio 3.1.1 Release&#xff0c;SDK是3.1.0(API9) 的基础上。 1、低代码插件没有WebView组件。 2、低代码插件没有空白的自定义组件&#xff0c;当前提供的所谓自定义组件&#xff0c;只能用列表中提供的组件来拼接新的组件。 3、使用ets代码自定义的组件&…

PyTorch 张量数据类型

【数据类型】Python 与 PyTorch 常见数据类型对应&#xff1a; 用 a.type() 获取数据类型&#xff0c;用 isinstance(a, 目标类型) 进行类型合法化检测 >>> import torch >>> a torch.randn(2,3) >>> a tensor([[-1.7818, -0.2472, -2.0684],[ 0.…

(Javascript)AI数字人mp4转canvas播放并去除背景绿幕

1、需求介绍 H5页面嵌入AI数字人播报&#xff0c;但生成的数字人是mp4格式且有绿幕背景&#xff0c;需要转成canvas并去除背景&#xff1b; 2、效果&#xff1a; 去除前&#xff1a; 去除后&#xff1a; 3、代码 <!DOCTYPE html> <html lang"en"><…

上位机能不能替代PLC实现控制?为什么一定要学上位机?

上位机是一个广泛用于自动化控制系统的术语&#xff0c;它通常指的是在自动化控制系统中&#xff0c;用于监控和控制下位机&#xff08;通常是嵌入式系统或者是PLC等&#xff09;的计算机系统。上位机可以通过各种通信协议&#xff08;如RS232、RS485、以太网等&#xff09;与下…

C端设计师去做B端界面设计易犯哪些?要不要给他提个醒。

2024-03-29 17:03大美B端工场 很多C端设计师初涉B端设计&#xff0c;思路转变不过来&#xff0c;还用C端思想指导B端设计&#xff0c;结果就是总感觉不舒服&#xff0c;大美B端工场&#xff0c;为大家详细解读一下。 当C端设计师去设计B端界面时&#xff0c;可能会经常犯以下…

C++面向对象程序设计 - 函数库

C语言程序中各种功能基本上都是由函数来实现的&#xff0c;在C语言的发展过程中建立了功能丰富的函数库&#xff0c;C从C语言继承了些函数功能。如果要用函数库中的函数&#xff0c;就必须在程序文件中包含文件中有关的头文件&#xff0c;在不同的头文件中&#xff0c;包含了不…

时间复杂度与空间复杂度题目讲解

前言&#xff1a; 在前面我们了解到了时间复杂度与空间复杂度&#xff0c;这里我们就可以尝试一下做一些关于时间复杂度与空间复杂度的题目。 1. 数组篇 题目一&#xff1a;消失的数字 消失的数字&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a; 看…

Elixir学习笔记——进程(Processes)

在 Elixir 中&#xff0c;所有代码都在进程内运行。进程彼此隔离&#xff0c;彼此并发运行并通过消息传递进行通信。进程不仅是 Elixir 中并发的基础&#xff0c;而且还提供了构建分布式和容错程序的方法。 Elixir 的进程不应与操作系统进程混淆。Elixir 中的进程在内存和 CPU…

进程的创建和管理

一. 实验内容 1&#xff0e; 编写一个程序&#xff0c;程序中创建一个子进程。然后父、子进程各自独立运行&#xff0c;父进程不断地在标准输出设备&#xff08;即显示器&#xff09;上输出字母p和回车&#xff08;输出30次或以上&#xff09;&#xff0c;子进程不断地在标准输…

[面试题]Java【并发】

[面试题]Java【基础】[面试题]Java【虚拟机】[面试题]Java【并发】[面试题]Java【集合】[面试题]MySQL 因为 Java 并发涉及到的内容会非常多&#xff0c;本面试题可能很难覆盖到所有的知识点&#xff0c;所以推荐 《Java并发编程的艺术》 。 Java 线程 线程 通知 等待 线…

植物ATAC-seq文献集锦(三)——果实发育篇

ATAC-seq在植物研究领域的应用我们已经介绍2期了&#xff0c;本期我们聚焦ATAC-seq技术在果实发育方向的应用案例。 植物ATAC-seq文献集锦&#xff08;一&#xff09;——基因组篇 植物ATAC-seq文献集锦&#xff08;二&#xff09;——生长发育篇 文献一&#xff1a;Ident…