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服务中的完全路径

相关推荐
等....11 小时前
Minio使用
数据库
win x12 小时前
Redis 使用~如何在Java中连接使用redis
java·数据库·redis
迷枫71213 小时前
DM8 数据库安装实战:从零搭建达梦数据库环境(附全套工具链接)
数据库
XDHCOM14 小时前
PostgreSQL 25001: active_sql_transaction 报错原因分析,故障修复步骤详解,远程处理解决方案
数据库·sql·postgresql
卤炖阑尾炎14 小时前
PostgreSQL 日常运维全指南:从基础操作到备份恢复
运维·数据库·postgresql
daad77715 小时前
wifi_note
运维·服务器·数据库
计算机毕设vx_bysj686916 小时前
【免费领源码】77196基于java的手机银行app管理系统的设计与实现 计算机毕业设计项目推荐上万套实战教程JAVA,node.js,C++、python、大屏数据可视化
java·mysql·智能手机·课程设计
吴声子夜歌16 小时前
ES6——正则的扩展详解
前端·mysql·es6
xixingzhe216 小时前
Mysql统计空间增量
数据库·mysql
程序员萌萌16 小时前
Java之mysql实战讲解(三):聚簇索引与非聚簇索引
java·mysql·聚簇索引