SQL数据定义语言(DDL)命令应用

一、数据库操作

1.查看数据库

show databases;

2.创建数据库

create database 数据库名字 default charset utf8mb4 ;

后面数据库名用nice代替
3.删除数据库

drop database if exists nice;

4.切换数据库

use nice;

二、表操作

首先,使用表操作,需要先选择数据库
1.创建表

create table biao
(
	格式为:表名+类型+空否+注释
	dno integer not null comment '编号', 
	dname varchar(20) not null comment '名称',
	dlocation varchar(20) not null comment '所在地',
	primary key (dno)
)engine=innodb comment='部门表';

2.查看所有表

show tables;

3.查看表结构

desc tb_dept;

4.删除表

drop table if exists tb_dept;

5.修改表
1)添加表头

alter table tb_dept add column dest date comment '成立日期';

2)删除表头

alter table tb_dept drop column dest;

3)更改属性

alter table tb_dept modify column dlocation varchar(50) not null;

alter table tb_dept change column dlocation dloc varchar(200) not null comment '所在地';

4)规定表值唯一

alter table tb_dept add constraint uk_dept_dname unique (dname);
功能去除
alter table tb_dept drop constraint uk_dept_dname;

5)规定表值长度

alter table tb_dept add constraint ck_dept_dloc check (char_length(dloc) >= 2);
去除功能
alter table tb_dept drop constraint ck_dept_dloc;

改表名

alter table tb_dept rename to department;

三、数据类型认识

1. 整数

  • tinyint —> 1个字节 —> -128 ~ 127
  • smallint —> 2个字节 —> -32768 ~ 32767
    integer / int —> 4个字节 —> -2^31 ~ 2^31-1
    ~ int unsigned —> 无符号整数 —> 0 ~ 2^32-1
    ~ int(4) zerofill —> 1 —> 0001
    bigint —> 8个字节 —> -2^63 ~ 2^63-1
    ~ bigint unsigned —> 无符号大整数 —> 0 ~ 2^64-1

2. 小数

  • float
  • double
    decimal(M,N) —> M 有效数字的位数 —> 65
    N 小数点后面的有效数字的位数 —> 30

3. 字符串

  • char
    varchar —> utf8mb4 —> 65535 / 4 —> 15327

4. 日期和时间

date
time
datetime

  • timestamp —> 记录现在距离1970年1月1日0时0分0秒过去了多少时间
    —> 底层就是一个整数(有溢出风险)—> 2038年问题

Y2K —> 千年虫问题

5. 其他

  • boolean —> tinyint —> 0 / 非0
  • enum —> MySQL方言
  • longtext —> 4G
  • longblob —> 4G

注意:不要表的字段中放很大的二进制数据或文本数据(给文件路径即可)

你可能感兴趣的:(关系型数据库SQL,sql,数据库)