Mysql数据库

一.数据定义语言DDL

一.概述

DDL用于定义和管理数据库的结构

DDL关键字:1.CREATE; 2.ALTER; 3.DROP

二.SQL命名规定和规范

1.标识符命名规则

2.标识符命名规范

三.库管理

1.
CREATE DATABASE 数据库名;
2.
CREATE DATABASE IF NOT EXISTS 数据库名;
3.
CREATE DATABASE 数据库名 CHARACTRE 字符集;
CREATE DATABASE 数据库名 COLLATE 排序规则;
4.
CREATE DATABASE 数据库名 CHARACTRE 字符集 COLLATE 排序规则;
1.
SHOW DATABASES;
2.
SELECT DATABASE();
3.
SHOW TABLES FROM 数据库名
4.
SHOW CREATE DATABASE 数据库名
5.
USE 数据库名
ALTER DATABASE 数据库名 CHARACTRE 字符集;
ALTER DATABASE 数据库名 COLLATE 排序规则;
ALTER DATABASE 数据库名 CHARACTRE 字符集 COLLATE 排序规则; DROP DATABASE 数据库名;
DROP DATABASE IF EXISTS 数据库名;

四.表管理

CREATE TABLE IF NOT EXISTS 表名{列名 类型 [列可选约束],列名 类型 [列可选约束],列名 类型 [列可选约束],
}[表可选约束][COMMENT '注释']
数据类型:整数,浮点数,定点数,字符串,日期时间等
整数:TINYINT,SMALLINT,MEDIUMINT,INT,BIGINT
注意:无符号=无负号,整数类型可以添加unsigned,添加以后对应列数据变成无负号类型
浮点数:FLOAT(M,D),DOUBLE(M,D)
注意:float4个字节,double8个字节,支持加unsigned
定点数:BECIMAL(M,D)
存储精确的数组数据值。当需要保持精确精度时,列如货币
字符串:CHAR(M),VARCHAR(M)
CHAR是固定长度,会补充空格.
varchar是可变长度
时间类型:
YEAR:YYYY或YY                1个字节
TIME:HH:MM:SS                3个字节
DATE:YYYY-MM-DD,             3个字节
DATEIME:YYYY-MM-DD HH:MM;SS  8个字节
TIMESTAMPYYYY-MM-DD HH:MM;SS 4个字节

二.数据操纵语言DML

一.概述

DML作用:

插入,更新,删除,查询

INSERT;UPDATE;DELETE;SELECT

数据操作最基本的单位是行,按照行进行增删改查

二.语法

1.
INSERT INTO 表名 VALUES(value1,value2...)
2.
INSERT INTO 表名(列名1,列名2,...) VALUES(value1,value2...)
1.
UPDATE table_name SET column1=value1,column2=value2...
2.
UPDATE table_name SET column1=value1,column2=value2...
[WHERE condition]
1.
DELETE FORM table_name
2.
DELETE FORM table_name [WHERE condition]
1.
SELECT 1
2.
SELECT 列名1,列名2 FROM 表名;
SELECT 表名.列名1 FROM 表名;
3.
SELECT 列名1 as 别名,列名2 FROM 表名
SELECT 表名.列名 表名 FROM 表名;
4.
SELECT DISTINCT 列名 FROM 表名;
5.
SELECT '哈哈哈' as corporation 列名 FROM 表名
6.
SELECT 字段1,字段2 FROM table where condition

三.数据库约束

一.概述

概述:表级别的规定,数据的限制语法

约束分类:

a.列级约束

非空约束 NOT NULL,默认值约束 DEFAULT,检查约束 CHECK

b.行级约束

主键约束 PRIMARY KEY,唯一约束 UNQUE,自增长约束 AUTO_INCREMENT

c.多表约束

外键约束 FOREIGN KEY

二.非空约束

关键字:NOT NULL
特点:
默认:所有类型列默认都可以为null,包括数字类型
列上添加:非空约束只能添加到列上
多次使用:一个表中可以有很多列进行非空限定
空值判定:空字符串不是null,0也不是null建表时添加
CREATE TABLE 表名称{字段名 数据类型 NOT NULL
}
建表后修改
alter table 表名称 modify 字段名 数据类型 not null;

三.默认值约束

关键字:DEFAULT
特点:
位置约定:不能添加到唯一或主键上
生效时间:插入数据时,没有显示赋值,赋予默认值
细节特点:添加约束时,default默认值,默认值对应正确数据类型建表时添加
CREATE TABLE 表名称{字段名 数据类型 default 默认值
}
建表后修改
alter table 表名称 modify 字段名 数据类型 default 默认值;

四.检查约束

关键字:CHECK
特点:
新特性:8+以后才支持
万能约束:check(表达式)
不推荐使用建表时添加
CREATE TABLE 表名称{字段名 数据类型,check(表达式)
}
建表后修改
alter table 表名称 add CONSTRAINT 约束名 CHECK(表达式);
删除约束
alter table 表名称 drop CONSTRAINT 约束名;查看约束
SELECT * 
FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
WHERE TABLE_SCHEMA = '库名'
AND TABLE_NAME = '表名'

五.唯一约束

关键字:UNIQUE
特点:
约束数量:同一个表可以有多个唯一约束
空值处理:唯一约束允许列值为空
约束名称:在创建唯一约束的时候,如果不给唯一约束命名,就默认和列名相同
建表时添加
CREATE TABLE 表名称{字段名 数据类型 unique
}
建表后修改
alter table 表名称 add CONSTRAINT constraint_name UNIQUE(列名);

六.主键约束

主键分类:自定义主键,自然主键
特点:
主键数量:每个表只有一个主键
单一和复合:主键可以由单个列或者多个列组成
主键列类型:可以是任意类型,只要唯一且不重复
主键命名:主键一般采用identify
主键索引:创建主键约束时,系统会默认在所在的列或列组合建立对应的主键索引建表时添加
CREATE TABLE 表名称{字段名 数据类型 primary key
}
CREATE TABLE 表名称{字段名 数据类型,[constraint 约束名] primary key(字段名)
}
建表后修改
alter table 表名称 add CONSTRAINT PRIMARY KEY(字段列表);

七.自增长约束

关键字: AUTO_INCREMENT
特点:
添加位置:只能添加到键列
约束数量:每张表只能由一个自增长约束
数据类型:必须是整数类型
特殊情况:如果自增长字段设置为0或者null,列数据会自增长赋值如果设置的是非0或非空数据,那么将真实设置值
建表时添加
CREATE TABLE 表名称{字段名 数据类型 primary key auto_increment
}
CREATE TABLE 表名称{字段名 数据类型 unique key auto_increment
}
建表后修改
alter table 表名称 modify 字段名 数据类 auto_increment;

八.外键约束

外键:引用或参照其他表主键列值的列
外键值约束:外键应该引用主键的值,但是如果不添加约束,可能会出现错误数据
特点:
外键数量:每个表可以包含多个外键
外键跨表:被引用为主表,外键表为子表
外键类型:外键类型应该和主键对应
主外键关系:关系型数据库,关系就是指主外键关系
其他影响:存在主外键关系,删除主表数据可能会因为子表引用而删除失败建表时添加
CREATE TABLE 主表名称{字段名 数据类型 primary
}
CREATE TABLE 子表名称{字段1 数据类型 primary key,[CONSTRAINT <外键约束名称>] FOREIGN KEY reference 主表名(主键)
}
建表后修改
alter table 子表名称 add [CONSTRAINT <外键约束名称>] FOREIGN KEY(从表的字段)
reference 主表名(被引用的字段)

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

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

相关文章

C++,STL容器适配器,priority_queue:优先队列深入解析

文章目录 一、容器概览与核心特性核心特性速览二、底层实现原理1. 二叉堆结构2. 容器适配器架构三、核心操作详解1. 容器初始化2. 元素操作接口3. 自定义优先队列四、实战应用场景1. 任务调度系统2. 合并K个有序链表五、性能优化策略1. 底层容器选择2. 批量建堆优化六、注意事项…

django上传文件

1、settings.py配置 # 静态文件配置 STATIC_URL /static/ STATICFILES_DIRS [BASE_DIR /static, ]上传文件 # 定义一个视图函数&#xff0c;该函数接收一个 request 参数 from django.shortcuts import render # 必备引入 import json from django.views.decorators.http i…

mapbox 从入门到精通 - 目录

&#x1f468;‍⚕️ 主页&#xff1a; gis分享者 &#x1f468;‍⚕️ 感谢各位大佬 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍⚕️ 收录于专栏&#xff1a;mapbox 从入门到精通 文章目录 一、&#x1f340;总目录1.1 ☘️ mapbox基础1.2 ☘️…

【Qt】:概述(下载安装、认识 QT Creator)

&#x1f308; 个人主页&#xff1a;Zfox_ &#x1f525; 系列专栏&#xff1a;Qt 目录 一&#xff1a;&#x1f525; 介绍 &#x1f98b; 什么是 QT&#x1f98b; QT 发展史&#x1f98b; Qt版本&#x1f98b; QT 优点 一&#xff1a;&#x1f525; 搭建Qt开发环境 &#x1f9…

设置mysql的主从复制模式

mysql设置主从复制模式似乎很容易&#xff0c;关键在于1&#xff09;主库启用二进制日志&#xff0c;2&#xff09;从库将主库设为主库。另外&#xff0c;主从复制&#xff0c;复制些什么&#xff1f;从我现在获得的还很少的经验来看&#xff0c;复制的内容有表&#xff0c;用户…

halo发布文章的插件问题分析

前言 在准备发文到 halo 系统的时候提示错误如下&#xff0c;全是乱码 尝试将 halo 插件卸载后&#xff0c;再将插件目录下的文件全部删除 插件目录在 C:\Users\Administrator\.vscode\extensions\halo-dev.halo-1.3.0 然后再重新安装插件&#xff0c;在进行初始化的时候依然…

Spring Data Neo4j

文章目录 Spring Data Neo4j简介Neo4j-OGM与SDN的区别 开发体验版本说明项目地址项目结构创建项目配置连接信息激活事务管理器创建实体类Movie类Person类ActedIn关系类 创建Dao层service层测试案例CRUD TestPersonService TestActedIn Test 执行结果查询 Spring Data Neo4j简介…

Java发展史

JavaEE的由来 语言的诞生 Java的前身是Oak语言&#xff0c;其目的是搞嵌入式开发开发智能面包机 叮~~~&#x1f35e;&#x1f35e;&#x1f35e; 产品以失败告终 巅峰 网景公司需要网景浏览器打开网页&#xff0c;Oak->Java&#xff0c;进行前端开发&#xff08;相关技…

怎么让DeepSeek自动化写作文案

在数字化时代&#xff0c;内容创作已成为企业争夺用户注意力的核心竞争力。面对海量信息需求&#xff0c;企业往往面临内容创作效率低下、质量参差不齐、周期长等问题。如何用技术手段解决这些痛点&#xff0c;成为企业迫切需要破解的难题。今天&#xff0c;我们将以DeepSeek为…

Mysql之主从复制

目录 1.概述 2.工作原理 3.综合案例 3.1前期准备 3.2主库配置 3.3从库配置 3.4常见问题 3.4.1主从同步出现一下错误&#xff1a;Slave_IO_Running: No 3.4.1主从同步出现一下错误&#xff1a;Slave_IO_Running: Connecting? 3.5数据测试 1.概述 MySQL的主从复制&am…

从无序到有序:上北智信通过深度数据分析改善会议室资源配置

当前企业普遍面临会议室资源管理难题&#xff0c;预约机制不完善和临时会议多导致资源调度不合理&#xff0c;既有空置又有过度拥挤现象。 针对上述问题&#xff0c;上北智信采用了专业数据分析手段&#xff0c;巧妙融合楼层平面图、环形图、折线图和柱形图等多种可视化工具&a…

使用pyCharm创建Django项目

使用pyCharm创建Django项目 1. 创建Django项目虚拟环境&#xff08;最新版版本的Django) 使用pyCharm的创建项目功能&#xff0c;选择Django,直接创建。 2. 创建Django项目虚拟环境&#xff08;安装特定版本&#xff09; 2.1创建一个基础的python项目 2.2 安装指定版本的D…

RabbitMQ 在 Spring Boot中使用方式

文章目录 作用MQ docker 安装MQ使用RabbitMQ的整体架构及核心概念&#xff1a;RabbitMQ的整体架构及核心概念&#xff1a;消费者消息推送限制交换机与队列## 项目使用MQDirect: 直连模式Fanout: 广播模式Topic: 主题模式Headers: 头信息模式 使用DEMO地址异常问题记录 作用 Ra…

力扣动态规划-30【算法学习day.124】

前言 ###我做这类文章一个重要的目的还是记录自己的学习过程&#xff0c;我的解析也不会做的非常详细&#xff0c;只会提供思路和一些关键点&#xff0c;力扣上的大佬们的题解质量是非常非常高滴&#xff01;&#xff01;&#xff01; 习题 1.零钱兑换 题目链接:322. 零钱兑…

AI在电竞比分网中的主要应用场景

AI在电竞体育比分网的数据应用非常广泛&#xff0c;能够显著提升数据分析、预测、用户体验和商业价值。以下是AI在电竞比分网中的主要应用场景&#xff1a; 1. 实时数据采集与分析 比赛数据实时更新&#xff1a;AI通过自动化系统实时采集比赛数据&#xff08;如击杀数、经济差、…

【Spring Boot】Spring 魔法世界:Bean 作用域与生命周期的奇妙之旅

前言 ???本期讲解关于spring原理Bean的相关知识介绍~~~ ??感兴趣的小伙伴看一看小编主页&#xff1a;-CSDN博客 ?? 你的点赞就是小编不断更新的最大动力 ??那么废话不多说直接开整吧~~ 目录 ???1.Bean的作用域 ??1.1概念 ??1.2Bean的作用域 ??1.3代码演示…

用 Python 实现 DeepSeek R1 本地化部署

DeepSeek R1 以其出色的表现脱颖而出&#xff0c;不少朋友想将其本地化部署&#xff0c;网上基于 ollama 的部署方式有很多&#xff0c;但今天我要带你领略一种全新的方法 —— 使用 Python 实现 DeepSeek R1 本地化部署&#xff0c;让你轻松掌握&#xff0c;打造属于自己的 AI…

软考-系统架构设计师(月更版)

1.需求管理的主要活动包括变更控制&#xff0c;版本控制&#xff0c;需求跟踪&#xff0c;需求状态跟踪 需求跟踪是单个需求和其他系统元素之间的依赖关系和逻辑联系建跟踪&#xff0c; 这些元素包括各种类型的需求、业务规则、系统架构和构件、源代码、测试用例&#xff0c;以…

IOTDB安装部署

IOTDB一般用于工业互联网&#xff0c;至于具体的介绍请自行搜索 1.环境准备 安装前需要保证设备上配有 JDK>1.8 的运行环境&#xff0c;并配置好 JAVA_HOME 环境变量。 设置最大文件打开数为 65535。 关闭防火墙 systemctl stop firewalld.service systemctl disable …

分享 UniApp 实现列表长按删除功能

在移动应用开发中&#xff0c;列表是常见的展示形式&#xff0c;而长按删除列表项也是一个实用且常见的交互功能。今天就来和大家分享如何在 UniApp 中实现列表的长按删除功能&#xff0c;同时附上详细的代码。 效果预览 通过代码实现后&#xff0c;我们将得到一个带有红色边…