MySQL数据库|建库&建表&数据类型

数据库的基本操作

数据库服务中有多个数据库,一个数据库中有多个表,一个表中有多个行,一个行有多个列组成

查看所有数据库

show databases;

创建属于自己的数据库

create databases 数据库名;

create databases if not exists 数据库名;

建议在创建数据库的时候指定编码集和排序规则

create databases if not exists character set utf8mb4 collate utf8mb4_0900_ai_ci(MYSQL8.0版本固定写法)

查看警告信息

show warnings;

查看当前数据库服务默认的编码集

show variables likes "%character%";

不能用MySQL的关键字来创建库名,除非用反引号引起来

选择要操作的数据库

use 数据库名;

select database()

查看当前选择操作的是哪个数据库(MySQL内部给我们提供的内置方法)

没use java113之前调用select

use完之后

删除数据库

drop database ;

drop database if exists 数据库名;

退出

\q

常用数据类型

创建完数据库之后,就要在数据库中创建数据表,表中存储的数据记录,一条记录有不同的列组成

数值类型:

整形和浮点型

bool=tinyint

INT=int

SMALLINT=short

float和double在表示小数的时候不是特别精准,所以用decimal类型来表示小数

字符串类型

VARCHAR(SIZE)最常用的一种字符串数据类型,可以指定长度为多少个字符

根据字符的具体情况用1-4个字节表示一个字符

TEXT是文本数据类型

BLOB是二进制形式的长文本数据类型

一般在数据库中,不建议存文件,而是把文件存在磁盘上,在数据库相应的字段中保存文件路径,在查询文件的时候,先从数据库中找到文件路径,再去根据文件路径在磁盘上加载或是返回具体的真实文件

文本文件:人类可以直接看懂的文件,比如有记事本里面写的日记,配置文件,JAVA源代码。

二进制文件:我们用文本编辑器打开的文件,里面是一堆乱码,这些文件只有机器可以读的懂。

.txt是windows系统中文本的默认后缀名

日期类型

DATETIME

表的操作创建表

create table 表名(

filed1 datatype;【字段名+数据类型】

filed2 datatype;

filed3 datatype【最后一个字段的定义,结束没有逗号】

);【字段的定义在小括号中包裹起来,最后以分号结束】

可以使用comment在每个字段后都可以加注释

示例:创建一个带有id和name的学生表

查看数据库中的表

show tables;

强烈建议每张表中都要设计一个编号字段,数据类型为bigint

varchar的长度记得指定,当前长度是我们自己定义出来的,在实际工作中要根据详细设计文档中的描述转换为代码就可以

查看表结构

desc 表名

Field----表中的字段

Types----字段的类型

Null----当前这个字段是不是允许为null

Key----健值的类型

Default----当前列的默认值,什么都不指定的时候为null

Extra----其他的一些扩展内容

命令行客户端工具,只执行一些简单的查询或是指令,如果一两句SQL可以搞定就在这里面去执行,如果说要编写复杂的SQL,比如表的设计,复杂查询,还是去可视化工具中编写

在编辑器中把SQL编辑好之后,保存为一个本地的.sql文件

在通过终端调用source将其打开

删除表

drop table if exists+表名

drop table+表名

一个drop语句可以删除多个表,每个表之间用逗号隔开

库名.表名来指定一张表在MySQL服务中的完全路径

相关推荐
天桥下的卖艺者5 小时前
使用scitable包,两步生成逆概率删失权重(IPCW)
数据库·r语言
隔窗听雨眠5 小时前
AI原生数据库浪潮:国产数据库的架构重构与路径之争
数据库
数据库小学妹5 小时前
数据库选型实战:从数据类型到TCO成本,五维决策框架+九款产品横评
数据库·信创·国产数据库·数据库选型·oracle迁移
神龙天舞20017 小时前
MySQL 备库为什么会延迟好几个小时
android·数据库·mysql
丙氨酸長鏈8 小时前
Web前端入门第 问:JavaScript 一个简单的 IndexedDB 数据库入门示例
前端·javascript·数据库
独行侠影a8 小时前
APScheduler+Redis 分布式定时任务:解决多实例任务重复执行
数据库·redis·分布式
传说故事9 小时前
数据库中一些常用英文单词含义
数据库·oracle
夏贰四9 小时前
中小企业搭建业务中台如何控成本?业务中台轻量化落地分几步实施?
数据库·业务中台
林焱RPA10 小时前
影刀RPA200篇纪念版:最实用的20个自动化场景大盘点
数据库
名字还没想好☜10 小时前
Go 的 time.After 在 select 循环里内存泄漏:定时器堆积原理与 timer.Reset 正确姿势
java·数据库·golang·go·goroutine