ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

数据库_Mysql基础——DDL数据定义语言

2021-05-02 20:33:12  阅读:248  来源: 互联网

标签:存储 name SHOW 创建 数据库 Mysql 定义语言 数据表 DDL


数据库

查看警告

SHOW WARNINGS;

创建数据库

语句{}中内容在使用语句时必须出现,方括号可以不出现。

CREATE {DATABASE|SCHEMA} [IF NOT EXISTS] db_name [DEFAULT CHARACTER SET = 编码格式] 

例子:
1.简单创建一个数据库 creat database(schema也可以) 数据库名称
在这里插入图片描述
然后你可以在C:\ProgramData\MySQL\MySQL Server 8.0\Data(这是我的路径)下看到创建了一个文件夹。
在这里插入图片描述
你也可以在这个文件夹下手动创建新的文件夹,也相当于创建了一个新的数据库,数据库的名字不能重复,重复创建会报错,如果加上IF NOT EXISTS创建,会返回警告。
2. 创建自定义编码格式的数据库
在这里插入图片描述

查看数据库

SHOW DATABASES;

SHOW SCHEMA;

注意: information_schema;mysql; performance_schema这三个数据库不能动!!!
在这里插入图片描述

查看指定数据库的定义

SHOW CREATE DATABASE|SCHEMA db_name;

在这里插入图片描述

修改指定数据库的编码方式

ALTER DATABASE|SCHEMA db_name DEFAULT CHARACTER SET = charset_name;

可以看到查询数据库定义的编码格式是utf8
在这里插入图片描述

打开指定的数据库

USE db_name;

在这里插入图片描述

得到当前打开的数据库名称

SELECT DATABASE();

在这里插入图片描述

删除指定数据库

DROP DATABASE|SCHEMA [IF EXISTS] db_name;

在这里插入图片描述
这样,那个文件夹下就删除了mysql01这个文件夹,也可以使用语句查看
在这里插入图片描述

数据表

数据表时数据库最重要的组成部分之一,是其他对象的基础,是存储数据的数据结构,是包含了特定实体类型的数据。它由行(row)和列(column)构成的二维网格。数据表一定时现有表结构,再有数据。数据表至少有一列,可以没有行或者多行。数据表名称要求唯一,而且不要包含特殊字符。

MYSQL中的数据类型

这些记个大概即可用的时候可以通过帮助查询
在这里插入图片描述

整数类型

在这里插入图片描述
如果需要输入无符号数,在数据类型后添加一个单词 UNSIGNED

浮点类型

在这里插入图片描述
如果输入小数位数超过指定位数,会进行四舍五入。定点数DECIMAL精度比前两个高。

字符串类型

在这里插入图片描述
CHAR会把输入字符串尾部的空格去掉,VARCHAR不会去掉。

日期时间类型

在这里插入图片描述

二进制类型

视频、图片等

类型选择

在这里插入图片描述

创建数据表

CREATE TABLE [IF NOT EXIST] tbl_name(字段名 字段类型 [完整约束条件] ...) ENGINE = 引擎名称 CHARSET = 编码方式;

字段名就是这个数据表中每一列的列标签;字段类型是每一列的数据类型;

引擎

存储引擎就是指表的类型,出具库的存储类型决定了表在计算机的存储方式。用户可以根据不同的存储方式,是否进行事务处理等来选择合适的存储引擎。
查看mysql支持的存储引擎

SHOW ENGINES;

查看显示支持的引擎信息

SHOW VARIABLES LIKE 'have%';

查看默认的存储引擎

SHOW VARIABLES LIKE 'storage_engine';

在这里插入图片描述
其中name表示引擎名称
support表示是否支持支持(yes),不支持(no)
comment注释
transactions是否支持事务处理,支持(yes),不支持(no)
XA是否是分布式处理的交易规范(我也不知道这是个什么玩意)是(yes),否(no)
savepoints是否支持保存点。
在这里插入图片描述
在这里插入图片描述

常用的引擎

不同数据表可以使用不同的引擎
InnoDB事务、回滚、修复、多版本并发控制,支持外借。创建的表结构在.fim的文件。缺点:读写效率低,占用空间大。
MyISAM存储文件时分为三个文件。分别存储表结构、数据、索引。支持静态、动态、压缩三种存储格式。效率高,空间占用小。缺点:不支持事务,没有事务的完整性、安全性、并发性的特点。
MEMORY存储在内存中创建表。速度快。可以提高表的效率。数据在内存中,占用内存多。缺点:存储在内存中,断电会造成丢失。

注释的写法

使用#来表示注释
在这里插入图片描述
这样回车不会执行该语句
或者使用-- 来表示注释内容(后面有空格)
在这里插入图片描述
给字段注释使用COMMENT
在这里插入图片描述

创建数据表

当输入内容含有中文的时候,需要临时更改编码格式为GBK

CREATE TABLE [IF NOT EXIST] tbl_name(字段名 字段类型 [完整约束条件] ...) ENGINE = 引擎名称 CHARSET = 编码方式;

创建数据库,打开数据库然后在数据库中创建数据表。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这段太麻烦了我附上代码

SET NAMES GBK;
CREATE TABLE IF NOT EXISTS `user` (id SMALLINT,username VARCHAR(20),age TINYINT,sex ENUM('男','女','保密'),email VARCHAR(50),addr VARCHAR(200),birth YEAR,salary FLOAT(8,2),tel INT,married TINYINT(1))ENGINE=INNODB CHARSET=UTF8;

这里在test01数据库下创建了user这个数据表。表的标签包含id username age…括号中的就是标签,后面跟的是数据类型。然后设定了引擎和编码格式。

查看创建的数据表

SHOW TABLES;

在这里插入图片描述
再创建一个试试
在这里插入图片描述

查看指定表的表结构

三种方法都可以

DESC tbl_name;
DESCRIBE tbl_name;
SHOW COLUMNS FROM tbl_name;

在这里插入图片描述

字段属性(完整性约束条件)

PRIMARY KEY主键,唯一标识某个记录的内容,要求定义为主键的字段不能重复且非空。

CREATE TABLE user1 (id INT PRIMARY KEY);#这样就给id定义为主键

在这里插入图片描述
key=pri就是主键。

CREATE TABLE user1 (id INT,card CHAR(18),PRIMARY KEY(id,card));#来定义一个复合主键

这是两个字段确定一个。
后面的明天再更
AUTO_INCREMENT自增长
FOREIGN KEY外键
NOT NULL非空
UNIQUE KEY唯一
DEFAULT默认值
用于修饰字段,使得字段符合要求。

标签:存储,name,SHOW,创建,数据库,Mysql,定义语言,数据表,DDL
来源: https://blog.csdn.net/Temmie1024/article/details/116331824

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有