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多平台发布

相关推荐
灏瀚星空13 小时前
AI 模型高效化:推理加速与训练优化的技术原理与理论解析
开发语言·人工智能·深度学习·程序人生·机器人·智慧城市·量子计算
七七知享1 天前
Python深度学习实现验证码识别全攻略
开发语言·python·深度学习·程序人生·程序员·开发·验证码
七七知享1 天前
开启 Python 编程之旅:基础入门实战班全解析
开发语言·python·程序人生·程序员·零基础·实战
测试界萧萧2 天前
17:00开始面试,17:08就出来了,问的问题有点变态。。。
自动化测试·软件测试·功能测试·程序人生·面试·职场和发展
(王子变青蛙)2 天前
C++初始
开发语言·c++·程序人生
电气外传2 天前
S06-Kep的跨通道传输
程序人生·自动化
Tiger Z3 天前
R 语言科研绘图第 39 期 --- 饼状图-旭日
开发语言·程序人生·r语言·贴图
软件测试曦曦3 天前
16:00开始面试,16:08就出来了,问的问题有点变态。。。
自动化测试·软件测试·功能测试·程序人生·面试·职场和发展
程序猿chen3 天前
JVM考古现场(十九):量子封神·用鸿蒙编译器重铸天道法则
java·jvm·git·后端·程序人生·java-ee·restful
七七知享5 天前
Python:开启自动化办公与游戏开发的无限可能
开发语言·python·程序人生·自动化·游戏程序·办公