MySQL数据库入门基础知识 【1】推荐

数据库就是储存和管理数据的仓库,对数据进行增删改查操作,其本质是一个软件。

首先数据有两种,一种是关系型数据库,另一种是非关系型数据库。

关系型数据库是以表的形式来存储数据,表和表之间可以有很多复杂的关系,比如:MySQL、Oracle、SQL Server等;
非关系型数据库是以数据集的形式存储数据,大量数据集中存储在一起,比如:MongDB、Redis、Mencached等
MySQL就是一种开源的关系型数库,也是最受欢迎的数据库之一,今天对MySQL数据的基础知识做了整理,方便自己查看,也欢迎正在学习MySQL数据库的同学参考,谢谢。

目录

1.安装配置连接

2.数据库的增删改查基本操作

2.1 查询显示数据库

2.2  新增创建数据库

2.3 删除数据库

2.4修改数据库

3.SQL数据类型

3.1 整数类型

3.2 定点类型

3.3 字符串类型

3.4 日期时间类型

4.数据表的增删改查

4.1 查询数据表 

4.2 新增数据表

4.3 删除数据表

4.4 修改数据表

5.SQL约束

5.1 主键约束 primary key 数据唯一性 值不可为空 不可重复。

5.2 联合主键约束

5.3 自动递增 auto_increment

5.4 unique 唯一约束

5.5  非空约束 not null 

5.6  default 默认值

6.外键约束



1.安装配置连接

MySQL数据库的安装配置前面已经写过,需要了解的请参考:详细教程 MySQL 数据库 下载 安装 连接 环境配置 全面-CSDN博客

数据库安装包有需要的请去主页资源自行下载!!

2.数据库的增删改查基本操作

连接数据库

在第一步安装的时候我们已经会使用navicat (GUI工具)并成功连接数据库了。

2.1 查询显示数据库

查询显示数据库 show databases;

  1. 输入sql 语句
  2. 选中sql语句,点击查询
  3. 查看查询结果

2.2  新增创建数据库

-- 1.创建数据库 user  这种写法如果当前数据库存在这个表就会报错的
create database user;  


-- 2.如果数据库不存在则会创建;存在就什么也不做 但是不会报错(推荐)
create database if not exists user;

第一种写法当数据库存在user 时报错

第二种写法不会报错

2.3 删除数据库

-- 1.删除数据库 如果数据库不存在会报错
drop database user;

-- 2.如果数据库存在则删除 不存在什么也不会做 但不会报错 (推荐使用)
drop database if exists user;

报错图示

2.4修改数据库

这里我们把创建的user数据库 默认字符集和排序规则进行修改,然后用sql修改成默认值。

-- 这里utf8mb4:字符集 兼容 utf8,且比utf8 能表示更多的字符
-- utf8mb4_0900_ai_ci:字符集对应的排序规则 大小写不影响
alter  database user character set utf8mb4 collate  utf8mb4_0900_ai_ci;

2.5 使用数据库

-- 使用数据库 
select database();
use user;

3.SQL数据类型

sql主要数据类型 :数字、字符串、日期时间等类型。

3.1 整数类型

浮点类型

3.2 定点类型

3.3 字符串类型

3.4 日期时间类型

4.数据表的增删改查

4.1 查询数据表 
-- 查询数据表
select database();
--使用数据库
use demo; -- 查看当前数据库的所有表
show tables;
4.2 新增数据表
--创建数据表 不存在才创建 不会报错 (推荐)
create table if not exists  student (
id int unsigned,
name varchar(20),
age tinyint unsigned,
gender enum('男性','女性','保密'),
createAt timestamp 
)

查询表中的字段信息

4.3 删除数据表
-- 删除数据表  (推荐)drop table if exists student;

4.4 修改数据表

改表名

-- 修改数据表表名
alter table student rename to  students;

加字段

--添加字段
alter table student add updatedAt timestamp;--查看数据表信息
desc student;

 

删除字段

--添加字段
alter table student drop  updatedAt;--查看数据表信息
desc student;

修改字段名称和字段的数据类型

--修改字段的数据类型
alter table student modify createAt datetime;--修改字段的名称和数据类型
alter table student change  createAt createAT TIMESTAMP;

5.SQL约束

对数据表进行约束。

5.1 主键约束 primary key 数据唯一性 值不可为空 不可重复。
//没有primary key约束的
create table if not exists use_1(id int unsigned,name varchar(20)
);-- primary key 主键约束 数据的唯一性 值不可重复 不可为空
create table if not exists use_2(id int unsigned primary key,name varchar(20)
);--主键也可以这样设置
create table if not exists use_3(id int unsigned,name varchar(20),primary key(id)
);

5.2 联合主键约束
-- 联合主键 就是两个字段一起约束数据的唯一性  这里id 和name 两个字段
create table if not exists use_4(id int unsigned,name varchar(20),primary key(id,name)
);

当联合主键约束中的其中一个字段重复不会提示,两个字段完全重复会约束。

5.3 自动递增 auto_increment

设置自动递增的字段,当我们新增数据时,该字段会自动填充数据。

-- 自动递增 auto_increment
create table if not exists use_6(id int unsigned primary key auto_increment,name varchar(20)
);
5.4 unique 唯一约束
-- unique 唯一约束
-- 保证某个字段的值永远不重复 但允许有多个null值存在
-- 一张表可以只能有一个主键,但是可以有多个unique create table if not exists use_7(id int unsigned primary key auto_increment,name varchar(20) unique 
);

5.5  非空约束 not null 
--非空约束 not null 
create table if not exists use_8(id int unsigned primary key auto_increment,name varchar(20) not null  
);
5.6  default 默认值
-- default 默认值
create table if not exists use_9(id int unsigned primary key auto_increment,name varchar(20) not null,gender enum('男性','女性','保密') default('保密'),cerateAt timestamp default crrent_timestamp,updateAt timestamp default crrent_timestamp on update current_timestamp
);

6.外键约束


外键约束以及其他关于MySQL知识 请参考:MySQL数据库入门基础知识 【2】

MySQL数据库安装配置连接教程

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

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

相关文章

nova7(华为)相机关闭画质优化

模板 文章目录 模板 如果对你有帮助,就点赞收藏把!(。・ω・。)ノ♡ 不知道大家有没有遇到这种苦恼 想拍一张,夜景照片 明明按下快门的时候还是如上图所示 但是到图库就只能看到下图的照片…

多路径 bbr mpbbr 公平性推演

mptcp 推出很久了,先看 rfc6356 三原则: 对自己,mptcp 的吞吐不能比用 sp(single path)tcp 时更差;对它者,mptcp 子流对资源的占用不能侵害其它 sptcp 流量;负载分担,要将孬 subflow 流量分担到…

SX_初识GitLab_1

1、对GitLab的理解: 目前对GitLab的理解是其本质是一个远程代码托管平台,上面托管多个项目,每个项目都有一个master主分支和若干其他分支,远程代码能下载到本机,本机代码也能上传到远程平台 1.分支的作用&#xff1a…

20.rabbitmq插件实现延迟队列

问题 前面谈到基于死信的延迟队列,存在的问题:如果第一个消息延时时间很长,而第二个消息延时时间很短,第二个消息并不会优先得到执行。 下载插件 地址:https://github.com/rabbitmq/rabbitmq-delayed-message-excha…

JAVA基础 - 反射

目录 一. 简介 二. java.lang.Class类 三. java.lang.reflect包 四. 创建对象 五. 调用方法 六. 调用成员变量 一. 简介 反射是 Java 语言中的一种强大机制,允许程序在运行时动态地获取类的信息、访问类的成员(包括字段、方法和构造函数&#xff…

Tomato靶机攻略

1、启动靶机 2、通过nmap -sA 192.168.168.0/24得到靶机IP 3、扫描目录 用dirb http://192.168.49.128扫描敏感目录 4、访问敏感目录 5、通过查看源码,发现其存在文件包含漏洞,利用该漏洞查看日志文件 http://192.168.168.131/antibot_image/antibots/…

gitee的fork

通过fork操作,可以复制小组队长的库。通过复制出一模一样的库,先在自己的库修改,最后提交给队长,队长审核通过就可以把你做的那一份也添加入库 在这fork复制一份到你自己的仓库,一般和这个项目同名 现在你有了自己的库…

vue2以及vue3基于el-table实现表格正则校验功能

常见需求: 在项目中,通常会在表格中添加多条数据,并需要对添加的数据进行校验功能,这时候就是很头疼的事了,下面酱酱仔给你们写个示例,你们无脑粘贴复制即可。 注意事项: 1、校验里面用到了正…

【Unity】3D功能开发入门系列(一)

Unity3D功能开发入门系列(一) 一、开发环境(一)安装 Unity(二)创建项目(三)Unity 窗口布局 二、场景与视图(一)场景(二)游戏物体&…

前端日历插件VCalendar

官网地址 API | VCalendar 1.安装 yarn add v-calendarnext popperjs/core 2.全局引入 mian.js //日历插件 import VCalendar from v-calendar; import v-calendar/style.css;app.use(VCalendar); 3.使用 <div><VCalendar reservationTime expanded borderless…

java各种锁有什么区别

Java 虚拟机&#xff08;JVM&#xff09;中有几种不同类型的锁&#xff0c;每种锁都有其特定的用途和性能特点。下面我将为你介绍几种常见的锁&#xff1a; 1.独占锁&#xff08;也称为悲观锁&#xff09;&#xff1a; 1.synchronized&#xff1a;这是 Java 提供的一种内置的独…

股指期货的套利策略存在哪些风险?

股指期货套利的交易策略。它能够纠正市场上不合理的价格偏差&#xff0c;将价格拉回到正常的轨道。套利交易以其稳健的收益吸引着投资者&#xff0c;但同时也容易让人陷入一个误区——认为套利是无风险的。实际上&#xff0c;套利同样存在风险&#xff0c;只是相对于纯粹的投机…

问题易如反掌?5个常用的AI人工智能助手推荐

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 如今的人工智能技术正以惊人的速度改变着我们的生活方式和工作方式。作为这一变革的关键驱动力&#xff0c;人工智能不仅在科技…

短剧CPS分销系统框架+资源对接是怎么对接的?

目录 前言&#xff1a; 一、前端uniapp内容有什么&#xff1f; 二、后台管理 三、搭建CPS需要准备什么&#xff1f; 总结&#xff1a; 前言&#xff1a; 目前短剧目前在国内是非常的热门&#xff0c;观看的人群非常的多。如果希望能够通过推广短剧来做副业的话&#xff0c…

深入理解PreparedStatement

预处理 Overridepublic boolean login(String username, String userpwd) {Connection con DBUtils.getConnection();try {if(con ! null){PreparedStatement pstmt con.prepareStatement("select username,userpwd from " " users where username? and us…

硬核!288页Python核心知识笔记(附思维导图,建议收藏)

不少朋友在学习Python时&#xff0c;都会做大量的笔记&#xff0c;随着学习进度的增加&#xff0c;笔记越来越厚&#xff0c;但有效内容反而越来越少。 今天就给大家分享一份288页Python核心知识笔记&#xff0c;相较于部分朋友乱糟糟的笔记&#xff0c;这份笔记更够系统地总结…

【Vue3】具名插槽

【Vue3】具名插槽 背景简介开发环境开发步骤及源码 背景 随着年龄的增长&#xff0c;很多曾经烂熟于心的技术原理已被岁月摩擦得愈发模糊起来&#xff0c;技术出身的人总是很难放下一些执念&#xff0c;遂将这些知识整理成文&#xff0c;以纪念曾经努力学习奋斗的日子。本文内…

AcWingTrie树

字典树的应用背景&#xff1a; 看以下几个题: 1、给出n个单词和m个询问&#xff0c;每次询问一个单词&#xff0c;回答这个单词是否在单词表中出现过 答:简单!map&#xff0c;短小精悍。 好。下一个 每次询问一个前缀&#xff0c;回答询问是多少个单词的前缀。2、给出n个单词和…