开源数据库Mysql_DBA运维实战 (DDL语句)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
RDS MySQL DuckDB 分析主实例,集群系列 8核16GB
简介: 开源数据库Mysql_DBA运维实战 (DDL语句)

DDL



LNJT6{ZW@8F]2RRN{%[S_@D.png


DDL语句 数据库定义语言:数据库、表、视图、索引、存储过程.

例如:CREATE  DROP ALTER


DDL库


定义库{

               创建业务数据库:CREAATE DATABASE   ___数据库名___ ;

               数据库名要求{

                                       a.区分大小写

                                       b.唯一性

                                       c.不能使用关键字如 create select

                                       d.不能单独使用数字和特殊符号“如-"

                                       e.正常的:用拼音或单词即可。

                                       }

               查看所有数据库: SHOW  DATABASES;

        }



选择/进入数据库{

                               USE  __数据库名___;

                               调用函数,查询当前库 SELECT  database();

}



删除数据库:
  DROP  DATABASE  __数据库名___;

在Linux系统中的位置:(数据库的实体)  /var/lib/mysql/  

355265e7f8c7442786e044e716d4ff1d.png


数据类型


数值类型:

c69f4ff3745143079529f0f5ac9b9017.png


常用: 整数类型    int  , smallint  ,   mediumint  ,  blgint ,tinyint

            浮点数类型(小数)   float  , double

            定点数类型   DEC

            位类型   BIT

            无符号   UNSIGNED


测试

LAB1:(int,tinyint的最大值)

前言:TINYINT有符号型最大127

          INT有符号型最大2147483647

a.创建一个表

mysql> create table test1( 
    tinyint_test tinyint,
   int_test int
  );


b.查询表结构

mysql> desc test1;
+--------------+------------+------+-----+---------+-------+
| Field        | Type       | Null | Key | Default | Extra |
+--------------+------------+------+-----+---------+-------+
| tinyint_test | tinyint(4) | YES  |     | NULL    |       | 
| int_test     | int(11)    | YES  |     | NULL    |       | 
+--------------+------------+------+-----+---------+-------+
2 rows in set (0.01 sec)


c.插入合法数值

1. mysql> insert into test1 values (111,111);
2. Query OK, 1 row affected (0.09 sec


mysql> insert into test1(int_test) values(2147483647);
Query OK, 1 row affected (0.05 sec)

d.插入非法数值

错误的示例:
mysql> insert into test1(tinyint_test) values(128);
ERROR 1264 (22003): Out of range value for column 'tinyint_test' at row 1
正确的示例:
mysql> insert into test1(tinyint_test) values(127);
mysql> insert into test1(int_test) values(2147483648);
ERROR 1264 (22003): Out of range value for column 'int_test' at row 1


LAB2:(无符号unsigned)

前言:   数值无符号,就只能输入正值,不能输入负值

a.创建一个表

mysql> create table test2(
 tinyint_test tinyint unsigned,         
int_test int unsigned
);
Query OK, 0 rows affected (0.00 sec)


b.查询表结构

mysql> desc test2;
+--------------+---------------------+------+-----+---------+-------+
| Field        | Type                | Null | Key | Default | Extra |
+--------------+---------------------+------+-----+---------+-------+
| tinyint_test | tinyint(3) unsigned | YES  |     | NULL    |       | 
| int_test     | int(10) unsigned    | YES  |     | NULL    |       | 
+--------------+---------------------+------+-----+---------+-------+
2 rows in set (0.00 sec)


c.插入合法数据

1. mysql> insert into test2(tinyint_test) values(255);
2. Query OK, 1 row affected (0.06 sec)


mysql> insert into test2(int_test) values(2147483648);
Query OK, 1 row affected (1.87 sec)

d.插入非法数据

mysql> insert into test2 values(-20,-20);
ERROR 1264 (22003): Out of range value for column 'tinyint_test' at row 1


LAB3:(零填充zerofill)


前言:   zerofill 自动填充0

a.创建一个表

mysql> create table t2 (
 id1 int zerofill,
id2 int(6) zerofill
);
Query OK, 0 rows affected (0.05 sec)


b.查询表结构

mysql> desc t2;
+-------+---------------------------+------+-----+---------+-------+
| Field | Type                      | Null | Key | Default | Extra |
+-------+---------------------------+------+-----+---------+-------+
| id1   | int(10) unsigned zerofill | YES  |     | NULL    |       |
| id2   | int(6) unsigned zerofill  | YES  |     | NULL    |       |
+-------+---------------------------+------+-----+---------+-------+
2 rows in set (0.00 sec)


c.插入数据

1. mysql> insert into t2 values(2,2);
2. Query OK, 1 row affected (0.01 sec)


d.查询表内容

mysql> select * from t2;
+------------+--------+
| id1        | id2    |
+------------+--------+
| 0000000002 | 000002 |
+------------+--------+
1 row in set (0.00 sec)


字符串类型:

枚举类型:ENUM  有65536个元素

611f98c2ec9e4434bc952767a8631090.png


时间和日期类型:

在MySQL数据库中,我们可以使用字符串来存储时间,但是如果我们需要基于时间字段
进行查询操作(查询在某个时间段内的数据)就不便于查询实现

常用: DATE    TIME    DATETIME


126de75bbf54418c9a013ff0913de8d0.png

约束类型

5fa275d1d97a448e94c807b28d248f22.png


DDL表


创表的目的:   a.表是数据库存储数据的基本单位

                       b.表由若干个字段(列)组成

                       c.主要是用来存储数据记录(行)


实例:

1.创建表

  要求         创建库school

                  创建表student1


  语法

      create   table 表名(字段名1  类型,字段名2  类型,字段名3  类型 );

mysql> CREATE  DATABASE school;#创建数据库school
mysql> use school; #使用库
mysql> create table student1(  id int, name varchar (20) , sex enum('m','f'), age int );# 创建一个表,四列
Query OK, 0 rows affected (0.03 sec)


2.查看表名

 

 mysql> show tables;     查看表名(需要进入一个数据库)
+------------------+
| Tables_in_school |
+------------------+
| student1         |
+------------------+
1 row in set (0.00 sec)


3.表中插入内容

   语法

       insert into 表名 values(字段值列表...);

 

 插入数据
        insert into student1 values (1,'zhangsan','m',33) ,
        insert into student1 values (2,'lisi','f',20) ,
        insert into student1 values (1,'wangwu','m',40) ,


4.查看表内容

 

mysql> select * from student1;    查询表中所有字段的值


5.查看表结构

 

desc student1;








相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
5月前
|
运维 监控 关系型数据库
AI 时代的 MySQL 数据库运维解决方案
本文探讨了大模型与MySQL数据库运维结合所带来的变革,介绍了构建结构化运维知识库、选择合适的大模型、设计Prompt调用策略、开发MCP Server以及建立监控优化闭环等关键步骤。通过将自然语言处理能力与数据库运维相结合,实现了故障智能诊断、SQL自动优化等功能,显著提升了MySQL运维效率和准确性。
478 18
|
5月前
|
运维 Prometheus 监控
别再盲选了!开源运维工具选型这事儿,咱得说人话
别再盲选了!开源运维工具选型这事儿,咱得说人话
296 7
|
6月前
|
人工智能 运维 安全
基于合合信息开源智能终端工具—Chaterm的实战指南【当运维遇上AI,一场效率革命正在发生】
在云计算和多平台运维日益复杂的今天,传统命令行工具正面临前所未有的挑战。工程师不仅要记忆成百上千条操作命令,还需在不同平台之间切换终端、脚本、权限和语法,操作效率与安全性常常难以兼顾。尤其在多云环境、远程办公、跨部门协作频繁的背景下,这些“低效、碎片化、易出错”的传统运维方式,已经严重阻碍了 IT 团队的创新能力和响应速度。 而就在这时,一款由合合信息推出的新型智能终端工具——Chaterm,正在悄然颠覆这一现状。它不仅是一款跨平台终端工具,更是业内率先引入 AI Agent 能力 的“会思考”的云资源管理助手。
|
6月前
|
人工智能 运维 关系型数据库
数据库运维:mysql 数据库迁移方法-mysqldump
本文介绍了MySQL数据库迁移的方法与技巧,重点探讨了数据量大小对迁移方式的影响。对于10GB以下的小型数据库,推荐使用mysqldump进行逻辑导出和source导入;10GB以上可考虑mydumper与myloader工具;100GB以上则建议物理迁移。文中还提供了统计数据库及表空间大小的SQL语句,并讲解了如何使用mysqldump导出存储过程、函数和数据结构。通过结合实际应用场景选择合适的工具与方法,可实现高效的数据迁移。
1061 1
|
3月前
|
SQL 数据管理 BI
数据库操作三基石:DDL、DML、DQL 技术入门指南
本文围绕数据库操作核心语言 DDL、DML、DQL 展开入门讲解。DDL 作为 “结构建筑师”,通过CREATE(建库 / 表)、ALTER(修改表)、DROP(删除)等命令定义数据库结构;DML 作为 “数据管理员”,以INSERT(插入)、UPDATE(更新)、DELETE(删除)操作数据表记录,需搭配WHERE条件避免误操作;DQL 作为 “数据检索师”,通过SELECT结合WHERE、ORDER BY、LIMIT等子句实现数据查询与统计。三者相辅相成,是数据库操作的基础,使用时需注意 DDL 的不可撤销性、DML 的条件约束及 DQL 的效率优化,为数据库学习与实践奠定基础。
|
5月前
|
机器学习/深度学习 SQL 运维
数据库出问题还靠猜?教你一招用机器学习优化运维,稳得一批!
数据库出问题还靠猜?教你一招用机器学习优化运维,稳得一批!
170 4
|
6月前
|
运维 监控 关系型数据库
AI 时代的 MySQL 数据库运维解决方案
本方案将大模型与MySQL运维深度融合,构建智能诊断、SQL优化与知识更新的自动化系统。通过知识库建设、大模型调用策略、MCP Server开发及监控闭环设计,全面提升数据库运维效率与准确性,实现从人工经验到智能决策的跃迁。
731 27
|
4月前
|
运维 NoSQL 容灾
告别运维噩梦:手把手教你将自建 MongoDB 平滑迁移至云数据库
程序员为何逃离自建MongoDB?扩容困难、运维复杂、高可用性差成痛点。阿里云MongoDB提供分钟级扩容、自动诊断与高可用保障,助力企业高效运维、降本增效,实现数据库“无感运维”。
|
6月前
|
SQL 存储 关系型数据库
一、数据库和表的基本操作 DDL
在使用 MySQL 做项目或写业务逻辑时,离不开对数据库和数据表的基本操作。我们这次从创建数据库讲起,一步步带你掌握如何新建表、查看表结构、修改字段、重命名、删除等常用命令。每一个知识点都有示例代码可直接上手,还准备了一套完整的动手练习,帮助你把概念变成熟练技能。如果你刚入门 SQL,或者想系统梳理一遍 DDL 基础,这篇会是不错的起点。
|
7月前
|
运维 监控 数据可视化
斩获6.1 star,再见Crontab!这款开源定时任务管理系统让运维更高效
Gocron是一款基于Go语言的轻量级定时任务调度系统,替代传统Linux Crontab。它提供可视化Web界面管理,支持秒级调度、任务依赖配置与多节点执行。核心功能包括:1) 可视化管理;2) 精确调度规则;3) 全链路任务控制;4) 多类型任务支持;5) 完善监控通知。适用于自动化运维、系统监控、数据处理及业务自动化等场景。通过三步快速上手:一键部署、添加任务节点、创建定时任务。相比Crontab和Celery,Gocron更直观高效,适合个人与企业使用。项目地址:https://github.com/ouqiang/gocron。
1138 8

热门文章

最新文章

推荐镜像

更多