DDL(数据库定义语言):

是对数据库内部的对象进行创建,删除,修改等的操作语言。它和DML语言最大的区别是DML只是对表内部数据的操作,而不涉及到表的定义,结构的修改,更不会涉及到其它对象。

  1. 创建数据库
create database if not exists <name> ; -- 创建一个数据库
  1. 删除数据库
drop database if not exists <name> ; 删除一个数据库
  1. 使用数据库
use <name> ; -- 使用数据库
  1. 查看数据库
show databases; -- 查看所有数据库

数据库的数据类型

数值

tinyint

十分小的数据

1个字节

smallint

比较小的数据

2个字节

mediumint

中等大小的数据

3个字节

int

标准的整数

4个字节

bigint

较大的数据

8个字节

float

单精度(浮点性)

4个字节

double

双精度

8个字节

decimal

字符串形式的浮点数

金融计算的时候一般使用

字符串

char

字符串固定大小

0-255

varchar 🥇

可变字符串

0-65535

tinytext

微型文本

2^8 -1

text 🥈

文本串

2^16-1

时间日期

date

YYYY-MM-DD

日期格式

time

HH:mm:ss

时区格式

datetime

YYYY-MM-DD HH:mm:ss

最长用的时间格式

timestamp

时间戳,1970.1.1

从1970.1.1到现在的毫秒数!也比较常用

year

年份表示

null

没有值,注意,不要使用null进行运算,结果运算为null.

数据库的子段属性:

Unsigned:

  • 无符号的整数
  • 声明了该列不能声明为负数

zerofill:

  • 0填充的
  • 不足的位数,用0来补充,int(3), 5 — 005

自增

  • 通常理解为自增,自动在上一条记录的基础之上+1(默认)。
  • 通常用来设计唯一的主键-- index,必须是整数类型。
  • 可以自定义设计主键自增的起始值和步长

非空 null not null:

  • 假设设置为not null 如果不给他赋值就会报错
  • null 如果不填写值,这个值就会自动填充为空值。

默认

设置默认的值

如果不给他设置值,他就会默认为我们设置的填充值

一般创建表格的时候我们必须创建的存在的5个字段

id 主键

version 乐观锁

is_delete 伪删除 数据无价假删除保数据

gmt_create 创建时间

gmt_update 删除时间

创建表

-- 创建表格,一般表面我们使用``进行标记
-- 注意表中字符串的使用一般是单引号或者双引号
-- 所有的语句后添加,最后一个不要加

create table if not exists test1(
    -- id 列名  int 数据类型  primary key 主键 not null 不为空 auto_increment 自增   comment "" 别名
	id  int  primary key  not null auto_increment comment '主键',
    -- default '' 默认的
    name varchar(10) not null default '匿名' comment '姓名',
    
    birthday datetime default null comment '生日'

)Engine=innodb default charset=utf8;

格式

create table if not exists(
	`字段名` 列类型 [属性] [索引] [注释],
    `字段名` 列类型 [属性] [索引] [注释],
    `字段名` 列类型 [属性] [索引] [注释],
    .....
    `字段名` 列类型 [属性] [索引] [注释]
)[表类型][字符编码集][注释]

show create database [数据库名]  -- 查看创建数据库的语句
show create table [数据库名] -- 查看数据库表的定义语句
Desc [表名] -- 显示表的结构

数据库引擎

MYISAM 早先年使用的

事务支持: 不支持

数据行锁定:不支持

外键:不支持

全文索引: 支持

表空间大小 : 较小

INNODB 目前默认使用的

事务支持: 支持

数据行锁定:支持

外键:支持

全文索引: 不支持

表空间大小:较大,约为2倍

常规使用操作:

MYISAM 节约空间,速度较快

INNODB 安全性高,事务的处理,多表多用户操作

在物理空间存储的位置

所有的数据库文件都存在data下,一个文件夹就代表一个数据库

本质还是文件的存储

MYSQL引擎在物理文件上的区别

  • InnoDB在数据库表中只有一个*.frm文件,以及目录上级目录下的ibdata1文件
  • MYISAM对应文件
  • *.frm --表结构的定义文件
  • *.MYD 数据文件(data)
  • *.MYI 索引文件(index)

设置数据库表的字符集编码

charset=utf8;

不设置的话会是使用mysql中默认的编码,他不支持中文。

my.ini中配置默认的编码

character-set-server=utf8;

===============================================================

修改表

-- 修改表的名字 alter table 旧表名  rename as 新表名
    alter table san rename san1;

增加表字段

-- 添加表字段 alter table 表名 add 列名 数据类型
alter table test add min int(4);

修改表的字段

-- 修改约束 alter table 表名 modify 列名 数据类型
alter table test modify min varchar(20);

-- 字段 重命名 以及修改约束  alter  table  表名 change 旧名字 新名字 列属性
alter table test change min min1 int(11); 

-- 删除表字段  alter table 表名 drop 列名
alter table 表名 drop 列名;

删除表

-- 删除表 
    drop table if exists 表名

==所有的创建和删除操作劲量加上判断,以免造成错误 ==


阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: mysql数据库