mysql-数据库DDL操作

之前已经学习了安装mysql服务端还有进行了一些关于数据库安全的设置,现在开始学习创建数据库和数据表以及进行修改。

MySQL的DDL(Data Definition Language)语句用于定义或更改数据库结构,包括创建、修改或删除表、视图、索引等数据库对象。sql语句以关键字和数据库或者数据表格式执行,常见的关键字:SHOW、USE、DROP、DELETE、SELECT等等,以;(分号)结尾,否则可能会报错。

数据库管理系统-->数据库-->数据表-->数据字段-->数据记录。

一、创建数据库

# 登陆数据库
mysql -uroot -p

#
 查看所有数据库
SHOW DATABASES;
mysql                      # 系统数据库(慎动)
sys                        # 系统数据库


#
 use关键字+数据库名 ,切换数据库
USE mysql;

#
 创建数据库 database + 数据库名称 ,编码utf8
CREATE DATABASE database_name
    CHARACTER SET utf8mb4
    COLLATE utf8mb4_general_ci;

#
 只有在数据库不存在时才进行创建
CREATE database if not exists 数据库名称;

#
 删除数据库,一定要小心再小心。
DROP database 数据库名;

#
 修改数据库编码类型为utf8
ALTER database 数据库名 character set utf8;

二、常见的数据类型

创建数据表,在数据表中定义字段的类型与长度。

数据类型定义示例
int整型int(10)
double浮点型double(5,2)表示最多5位,2位小数,最大999.99
decimal浮点型用在关于金额的方面,不会出现精度缺失
char固定长度字符串char(255),最大char(255),char(100),不足会补足100
varchar可变长字符串varchar(65535),用一个字节来记录
text字符串超大类型,mysql独有
date日期类型格式为:yyyy-MM-dd
time时间类型格式为:hhmmss
timestamp时间戳类型格式为:日期+时间

三、数据表操作

3.1 创建数据表表

CREATE TABLE (IF NOT EXISTS) 表名(
列名 列类型,
列名 列类型,
);

3.2 查看数据表

SHOW TABLES;               # 查看当前数据库中的所有表
SHOW CREATE TABLE 表名;    # 查看指定表的创建语句
DESC 表名;                 # 查看表结构:
SHOW FULL COLUMNS FROM employee; # 查看所有字段的信息包括注释及权限

3.3 删除数据表

DROP TABLE 表名;           # 删除表

四、修改数据库

修改数据表包括,修改表名、修改字段、修改行列等等。

  • 修改表之添加列:
ALTER TABLE 表名
ADD(
列名 列类型,
列名 列类型
);
# 示例
ALTER TABLE table_name ADD column_name datatype;
# table_name是要添加列的表名,column_name是新列的名称,datatype是新列的数据类型。
# 使用ADD语句还可以添加默认值、约束等,例如:
ALTER TABLE table_name
ADD column_name datatype DEFAULT default_value,
ADD CONSTRAINT constraint_name PRIMARY KEY (column_name);

#
 在添加列时,还可以指定列的位置。可以使用AFTER关键字指定新列应该出现在哪一列之后,或者使用FIRST关键字将新列放在第一列位置。
ALTER TABLE table_name
ADD column_name datatype AFTER existing_column;
# 指定位置
ALTER TABLE table_name
ADD column_name datatype FIRST;

#
 增加主键设置
ALTER TABLE employee ADD PRIMARY KEY(id);

#
 删除主键
1.使用ALTER TABLE语句
ALTER TABLE 表名 DROP PRIMARY KEY;
2.使用DROP INDEX语句
DROP INDEX 主键名 ON 表名;

#
 设置自动增长
ALTER TABLE employee MODIFY id int auto_increment;
  • 修改表之修改列类型
# MODIFY是MySQL的一个ALTER TABLE语句的关键字,用于修改表中已有列的数据类型、约束等。MODIFY语句可以修改列的数据类型、默认值、约束等。
ALTER TABLE 表名
MODIFY 列名 列新的类型;
# 示例
ALTER TABLE table_name MODIFY column_name new_datatype;
# 还可以修改列的默认值
ALTER TABLE table_name MODIFY column_name DEFAULT default_value;
# 定义约束条件
ALTER TABLE table_name MODIFY column_name datatype NOT NULL;
  • 修改表之修改列名
# CHANGE是MySQL的一个ALTER TABLE语句的关键字,用于修改表中已有列的名称、数据类型、位置、约束等。CHANGE语句可以修改列的名称、数据类型、位置、约束等。
ALTER TABLE 表名
CHANGE 原列名 新列名 列类型;
# 示例
ALTER TABLE table_name CHANGE old_column_name new_column_name new_datatype;
# 使用AFTER或者FIRST修改位置
ALTER TABLE table_name CHANGE column_name new_column_name datatype FIRST[AFTER] column_name ;
  • 修改表之删除列
# DROP是MySQL的一个关键字,用于删除数据库、表、列等对象。
ALTER TABLE 表名
DROP 列名;
# 示例
# 删除数据库
DROP DATABASE database_name;
# 删除表
DROP TABLE table_name;
# 删除表中的某一列
ALTER TABLE table_name DROP COLUMN column_name;
  • 修改表之修改表名称
# RENAME是MySQL的一个关键字,用于重命名数据库、表、列等对象。
ALTER TABLE 表名
RENAME TO 新表名;
# 示例
ALTER DATABASE old_database_name RENAME TO new_database_name;
# 重命名列
ALTER TABLE table_name CHANGE old_column_name new_column_name datatype;

总结

DDL操作

  • 创建数据库

  • 删除数据库

  • 创建数据表

  • 删除数据表

  • 修改数据表

  • 添加字段

常见数据类型有(int char varchar date time timestramp...)。

本文由 mdnice 多平台发布

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

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

相关文章

详细平稳解

1.详细平衡 定义:一个在高斯白噪声激励下的动力学系统在状态空间中如果用如下运动方程描述: d d t X j \frac{d}{dt}\mathbf{X}_{j} dtd​Xj​ f j ( X ) f_{j}(\mathbf{X}) fj​(X) ∑ l 1 m g j l ( X ) W l ( t ) \sum_{l1}^{m}g_{jl}(\mathbf{X})W…

Open CASCADE学习|入门Hello world

目录 1、新建项目 2、写代码 3、配置 3.1配置头文件 3.2配置静态库文件 3.3配置动态库文件 4、编译运行 1、新建项目 新建一个Win32控制台应用程序,取名为HelloWorld,如下图所示: 2、写代码 测试所用的代码如下: // Use T…

Redis:原理速成+项目实战——Redis实战6(封装缓存工具(高级写法)缓存总结)

👨‍🎓作者简介:一位大四、研0学生,正在努力准备大四暑假的实习 🌌上期文章:Redis:原理速成项目实战——Redis实战5(互斥锁、逻辑过期解决缓存击穿问题) 📚订…

C# Entity Framework 中不同的数据的加载方式

延迟加载 延迟加载是指在访问导航属性时,Entity Framework 会自动查询数据库并加载相关数据。这种方式在我们需要访问导航属性时比较方便,因为我们无需手动加载相关数据,而且只会在需要时才会进行查询,从而减少了不必要的开销。但…

Python基础-07(for循环、range()函数)

文章目录 前言一、for循环1.for循环结构2.参数 end(使其输出时变为横向) 二、range()函数1.range(常数)2.range(起始值,结束值)3.range(起始值,结束值,步长)4.例子 总结 前言 此章介绍循环结构中最常用的循环&#xf…

Redisson与SQL乐观锁:实现接口幂等性的终极指南与实战演示

Redisson与SQL乐观锁:实现接口幂等性的终极指南与实战演示 Redisson与SQL乐观锁:实现接口幂等性的终极指南与实战演示 接口幂等性.md

497 蓝桥杯 成绩分析 简单

497 蓝桥杯 成绩分析 简单 //C风格解法1&#xff0c;*max_element&#xff08;&#xff09;与*min_element&#xff08;&#xff09;求最值 //时间复杂度O(n)&#xff0c;通过率100% #include <bits/stdc.h> using namespace std;using ll long long; const int N 1e4 …

java基于VUE3+SSM框架的在线宠物商城+vue论文

摘 要 信息数据从传统到当代&#xff0c;是一直在变革当中&#xff0c;突如其来的互联网让传统的信息管理看到了革命性的曙光&#xff0c;因为传统信息管理从时效性&#xff0c;还是安全性&#xff0c;还是可操作性等各个方面来讲&#xff0c;遇到了互联网时代才发现能补上自古…

【langchain】在单个文档知识源的上下文中使用langchain对GPT4All运行查询

In the previous post, Running GPT4All On a Mac Using Python langchain in a Jupyter Notebook, 我发布了一个简单的演练&#xff0c;让GPT4All使用langchain在2015年年中的16GB Macbook Pro上本地运行。在这篇文章中&#xff0c;我将提供一个简单的食谱&#xff0c;展示我们…

【Docker基础三】Docker安装Redis

下载镜像 根据自己需要下载指定版本镜像&#xff0c;所有版本看这&#xff1a;Index of /releases/ (redis.io) 或 https://hub.docker.com/_/redis # 下载指定版本redis镜像 docker pull redis:7.2.0 # 查看镜像是否下载成功 docker images 创建挂载目录 # 宿主机上创建挂…

element-ui table height 属性导致界面卡死

问题: 项目上&#xff0c;有个点击按钮弹出抽屉的交互, 此时界面卡死 原因分析: 一些场景下(父组件使用动态单位/弹窗、抽屉中使用), element-ui 的 table 会循环计算高度值, 导致界面卡死 github 上的一些 issues 和解决方案: Issues ElemeFE/element GitHub 官方讲是升…

bootstrap教程

bootstrap教程 大家好&#xff0c;我是免费搭建查券返利机器人赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;今天&#xff0c;让我们一同进入前端开发的世界&#xff0c;探索一款备受欢迎的前端框架——Bootstra…

修改安卓apk设置为安卓主屏幕(launcher)

修改安卓apk 将apk可以设置安卓主屏幕 原理&#xff1a; 将打包好的apk文件进行拆包增加配置文件在重新编译回apk包 需要得相关文件下载 解包 apktool :https://pan.baidu.com/s/1oyCIYak_MHDJCvDbHj_qEA?pwd5j2xdex2jar&#xff1a;https://pan.baidu.com/s/1Nc-0vppVd0G…

2024年学习计划

2024-2-29号完成 机器视觉基础知识学习&#xff0c;并可以处理视觉工作中的需求。 2024-3月份学习SCARA机械手应用开发SCARA机器人-埃斯顿自动化 - ESTUN 2024-4月份继续学习python 好了&#xff0c;今年可以完成这三个目标就满足了 好好学习&#xff0c;天天向上。每天进步…

【数据库系统概论】数据库并发控制机制——并发控制的主要技术之封锁(Locking)

系统文章目录 数据库的四个基本概念&#xff1a;数据、数据库、数据库管理系统和数据库系统 数据库系统的三级模式和二级映射 数据库系统外部的体系结构 数据模型 关系数据库中的关系操作 SQL是什么&#xff1f;它有什么特点&#xff1f; 数据定义之基本表的定义/创建、修改和…

Vue CLI组件通信

目录 一、组件通信简介1.什么是组件通信&#xff1f;2.组件之间如何通信3.组件关系分类4.通信解决方案5.父子通信流程6.父向子通信代码示例7.子向父通信代码示例8.总结 二、props1.Props 定义2.Props 作用3.特点4.代码演示 三、props校验1.思考2.作用3.语法4.代码演示 四、prop…

嵌入式培训机构四个月实训课程笔记(完整版)-Linux系统编程第四天-Linux管道练习题(物联技术666)

更多配套资料CSDN地址:点赞+关注,功德无量。更多配套资料,欢迎私信。 物联技术666_嵌入式C语言开发,嵌入式硬件,嵌入式培训笔记-CSDN博客物联技术666擅长嵌入式C语言开发,嵌入式硬件,嵌入式培训笔记,等方面的知识,物联技术666关注机器学习,arm开发,物联网,嵌入式硬件,单片机…

爬虫网易易盾滑块案例:某乎

声明&#xff1a; 该文章为学习使用&#xff0c;严禁用于商业用途和非法用途&#xff0c;违者后果自负&#xff0c;由此产生的一切后果均与作者无关 一、滑块初步分析 js运行 atob(‘aHR0cHM6Ly93d3cuemhpaHUuY29tL3NpZ25pbg’) 拿到网址&#xff0c;浏览器打开网站&#xff0…

Java十种经典排序算法详解与应用

数组的排序 前言 排序概念 排序是将一组数据&#xff0c;依据指定的顺序进行排列的过程。 排序是算法中的一部分&#xff0c;也叫排序算法。算法处理数据&#xff0c;而数据的处理最好是要找到他们的规律&#xff0c;这个规律中有很大一部分就是要进行排序&#xff0c;所以需…

python总结-装饰器

装饰器 装饰器解决日志问题&#xff08;分三个版本&#xff09;多个装饰器带参数的装饰器wraps装饰器内置装饰器property装饰器staticmethod装饰器classmethod装饰器 类装饰器 概念 装饰器来自 Decorator 的直译。什么叫装饰&#xff0c;就是装点、提供一些额 外的功能。在 pyt…