数据库常见的命令
学习数据库,主要学习的是如何通过 命令操作数据库
关系型数据库是一个结构化容器 ,支持 SQL(结构化查询语言)
SQL命令的四大种类
- DDL (数据定义语言)
- DML (数据操纵语言)
- DQL (数据查询语言)
- DCL (数据控制语言)
DDL
主要操作数据库的结构,例如 建库、建表、建索引、建视图、删除表、删除库、删除视图、删除索引等等。
常见的命令有 create , drop , alter
创建一个数据库(database)
create database [if not exists] <databaseName>
每次创建的数据库,在磁盘上的表现就是一个文件夹
查看 MySQL 下所有的数据库
show databases [like '%databaseName%'];
删除 MySQL 下 指定的数据库
drop database [if exists] <databaseName> ;
删除有风险、操作要谨慎
切换数据库
use <databaseName>
表的基本操作
MySQL数据库中常见的数据类型
-
整数类型
- tinyint : 相当于 java 中的 byte 类型
- smallint : 相当于 java 中的 short 类型
- int / integer : 相当于 java 中的 int 类型
- bigint : 相当于 java中 long 类型
-
小数类型
- float : 单精度
- double : 双精度
- decimal : 表示数字、可以解决在计算的过程中精度损失问题
-
字符串类型
- char(n) : 固定长度的字符串, n 代表字符串的长度,如果字符串长度不够,会默认补空白符
- varchar(n) : 可变长度的字符串, n 代表允许的最大长度 (比较常用)
- text : 用来存储内容较长的字符串,一般情况下,如果字符串长度超过4000, 推荐用text
- longtext : 比text更大的容器
-
boolean类型
1 代表 true, 0 代表 false -
日期类型
- date : 表示年月日、对应于 java 中的 LocalDate 或者 Date
- datetime : 对应于 java 中的 LocalDateTime 或者 Date
- time : 表示 时分秒, 对应于 java 中的 LocalTime
-
字节类型
- blob : 用来存储字节类型的数据
- longblob : 用来存储字节类型的数据
数据库类型和Java类型对照表
MySQL | Java |
---|---|
tinyint | byte |
smallint | short |
int | int |
bigint | long |
float | float |
double | double |
decimal | BigDecimal |
char | String |
varchar | String |
text | String |
longtext | String |
date | LocalDate |
datetime | LocalDateTime, Date |
time | LocalTime |
blob | byte[] |
longblob | byte[] |
enum | String |
表Table的创建
表是用来进行存储数据的, 表由 表头和 数据组成 , 表头由多个字段组成, 数据由记录组成
语法:
create table [if not exists] <tableName>(
<columnName> <columnType> [约束] [注释]
) ;
定义一个动物类、包含 名字,颜色,年龄 属性
- java语言表示的动物类
public class Animal {
private String name ;
private String color ;
private int age ;
}
- mysql中用表来表示动物类
create table if not exists animal(
name varchar(20) comment '动物名字' ,
color varchar(20) comment '动物肤色',
age tinyint comment '动物年龄'
) ;
删除表
drop table [if exists] <tableName> ;
删除表会丢失表中所有的数据
删除有风险、操作要谨慎
查看表结构
desc/describe <tableName> ;
查看建表语句
show create table <tableName> ;
查看某个database下的所有表
show tables [like '%xxx%'];
表结构的修改
alter table <tableName> ... ;
- 添加一个字段
alter table <tableName> add [column] <columnName> <columnType> [约束] [注释] ;
- 删除一个字段
alter table <tableName> drop [column] <columnName> ;
- 修改字段类型/长度
alter table <tableName> modify <columnName> <columnType> [约束] [注释] ;
如果表中有数据、在修改字段类型的时候,有可能会修改失败
- 修改字段名称
alter table <tableName> change <oldName> <newName> <columnType> [约束] [注释] ;
- 修改表名
alter table <tableName> rename to <newTableName> ;
或者
rename table <oldTableName> to <newTableName> ;