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

相关推荐
迷枫7121 小时前
SQL性能排查记录
java·数据库·sql
Elastic 中国社区官方博客8 小时前
搜索倍增器:推动收入、生产力和 AI 实现规模化
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
东风破_9 小时前
从输入 juejin.cn 到看到页面:DNS、Nginx、服务器集群与 CDN 到底在做什么?
后端·mysql
小成很成9 小时前
mysql 8.0.21 升级 mysql 8.0.45(经过生产环境验证)
android·mysql·adb
东风破_9 小时前
从 0 设计一个博客数据库:用户、头像与文章表应该怎么建?
后端·mysql
保定公民10 小时前
达梦数据库存储过程中的数组类型详解:基础数组与记录数组的差异化应用
数据库·达梦·存储过程·达梦数据库·dm8·dm
梦Arrebol10 小时前
Redis 内容及相关实验
数据库·redis
大模型码小白11 小时前
Spring AI Tool 实现自然语言操作 MySQL 数据库详解
服务器·开发语言·数据库·人工智能·python·mysql·spring
云计算DevOps-韩老师12 小时前
【MySQL运维DBA】【SQL基础系列002篇】
运维·mysql·dba