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

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

时间:2023-10-06 11:04:18浏览次数:52  
标签:insert 运维 DBA DDL int tinyint sec mysql test


DDL

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

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/   

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


数据类型

数值类型:

开源数据库Mysql_DBA运维实战 (DDL语句)_表结构_03

 常用: 整数类型    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.插入合法数值
mysql> insert into test1 values (111,111);
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.插入合法数据
mysql> insert into test2(tinyint_test) values(255);
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.插入数据
mysql> insert into t2 values(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个元素

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

时间和日期类型:

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

常用: DATE    TIME    DATETIME
 

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

约束类型

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

 


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;
注意表结构和表内容是两个概念。

标签:insert,运维,DBA,DDL,int,tinyint,sec,mysql,test
From: https://blog.51cto.com/SongR/7722220

相关文章

  • 运维 | 如何解决 centos7.x 上 curl、wget 等工具命令失效问题
    运维|如何解决centos7.x上curl、wget等工具命令失效问题问题描述系统在初始化的时候已经安装了curl工具包,但是某一天突然在终端使用curl命令时发现提示-bash:curl:commandnotfound以为系统中并没有安装curl工具,于是输入命令重新安装yum-yinstallcurl#......
  • Linux运维学习笔记
    此笔记为学习https://www.bilibili.com/video/BV1nW411L7xm/?vd_source=3f851e85e66ef33269a2eefee664cec2的学习记录,目前持续更新中,希望能找到运维的实习吖 O(≧▽≦)OLinux的终端终端组成部分Linux关机命令shoutdown-hnow(正常关机)halt(关闭内存)init0使用VMware备......
  • 运维十年之久--2023国庆谈谈自己
    每次放假都做了相关的计划,坚持做到的只有其中一部分;在放假期间,总发现需要了解的东西太多,没有具体目标,在选择时候还是存在很多问题,没有找到目标和坚持要做的东西。2023年给自己定了很多的目标,也放弃了一些目标,还有一些目标没有实现,当务之急是准备PMP考试,其它目标后面在考虑,一个人......
  • java——mysql随笔——运维——分库分表&MyCat
    分库分表:                    介绍:                    拆分方式:                                     ......
  • java——mysql随笔——运维——日志
    黑马:https://www.bilibili.com/video/BV1Kr4y1i7ru?p=154&vd_source=79bbd5b76bfd74c2ef1501653cee29d6 csdn:https://blog.csdn.net/weixin_44904239/article/details/130379510 ================================================================================......
  • 运维 | 如何使用 nvm 安装和管理 nodeJS 版本
    运维|如何使用nvm安装和管理nodeJS版本简介NVM是什么nvm(NodeVersionManager)是NodeJS版本管理器,可对不同的node版本快速进行切换。为什么要用NVM基于node的工具和项目越来越多,但是每个项目使用的node版本可能不一致,就会出现一些奇怪的问题。比如:自己电脑......
  • @LoadBalanced注解实现负载均衡功能过程
     基本流程如下:拦截我们的RestTemplate请求http://userservice/user/1RibbonLoadBalancerClient会从请求url中获取服务名称,也就是user-serviceDynamicServerListLoadBalancer根据user-service到eureka拉取服务列表eureka返回列表,localhost:8081、localhost:8082I......
  • 运维 | 如何卸载阿里云盾 | Linux
    运维|如何卸载阿里云盾|Linux官方文档:https://help.aliyun.com/document_detail/68616.htm?spm=a2c4g.11186623.2.7.2537646azwEGcG#concept-cwf-hzc-zdb问题描述最近新购了阿里云的VPS,发现之前的卸载阿里云监控的方法已经失效应该是加了守护,没法直接删除相关文件,提示Op......
  • 运维 | Nginx Proxy Manager反向代理工具
    运维|NginxProxyManager反向代理工具简介NginxProxyManager(以下简称NPM)就是一个Nginx的代理管理器,它最大的特点是简单方便。即使是没有Nginx基础的小伙伴,也能轻松地用它来完成反向代理的操作,不需要自己写复杂的nginx配置,而且因为自带面板,操作极其简单。NginxProxy......
  • 基于AIOps实现智慧园区极简IT运维
    随着物联网、云平台、大数据、人工智能等技术的发展,并逐步投入到智慧园区的建设,传统园区数字化转型加快。园区的形式包括产业园区、教育园区、制造业园区、科研园区、社区等等,园区形态不断演进和发展,园区网承载的对象和业务也越来越多。业务种类爆炸性增长,业务变更愈加频繁,网络运......