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

相关推荐
短剑重铸之日2 小时前
《ShardingSphere解读》16 改写引擎:如何理解装饰器模式下的 SQL 改写实现机制?
java·数据库·后端·sql·shardingsphere·分库分表·装饰器模式
m0_587958952 小时前
机器学习与人工智能
jvm·数据库·python
2401_884662102 小时前
计算机的基本概念
mysql
2501_908329852 小时前
Python入门:从零到一的第一个程序
jvm·数据库·python
Liu628882 小时前
Web开发与API
jvm·数据库·python
m0_743470372 小时前
Python字典与集合:高效数据管理的艺术
jvm·数据库·python
2501_945423542 小时前
使用Scrapy框架构建分布式爬虫
jvm·数据库·python
yhole2 小时前
MySQL无法连接到本地localhost的解决办法2024.11.8
数据库·mysql·adb
2401_851272992 小时前
使用Python进行量化交易入门
jvm·数据库·python