数据库语言DDL

DDL语言

  • 数据(结构)定义语言DDL(Data Definition Language),是用于创建和修改数据库表结构的语言

  • 常用的语句:create, alter, drop, rename

-- 创建数据库 并设置字符集编码

CREATE DATABASE schooldb CHARSET utf8

-- 创建数据库 并判断是否存在 设置字符集

CREATE DATABASE IF NOT EXISTS schooldb CHARSET utf8 如果数据库已经存在,就会报错

-- 删除数据库(慎重!!!)

DROP DATABASE nba2

-- 修改数据库字符集 注意mysql中不支持修改数据库名

ALTER DATABASE schooldb CHARSET utf8

数据库存储数据的特点

  • 数据放到表中,表放到库中

  • 一个 数据库中可以有多张表,每张表有一个自己的名字,用来标识自己,表名是惟一的

  • 表具有一些特性,这些特性定义了数据在表中如何存储,类似java中的类

  • 表由列组成,也可以称为字段,所有表都是由一个或多个列组成,每一列类似java类中的属性

  • 表中的数据是按行存储的,每一行类似于java中的对象

设计并创建表

-- 确定表名 学生信息表

-- 确定列名 学号,姓名,性别,生日,身高,电话,地址,注册时间

-- 字符类型是需要给定长度的

-- 数据类型 char(4) 定长(长度是固定的 例如给定长度是4,即使存储一个字符,仍占4个长度)

-- varchar(4) 最大存储4个字符,如果只存储一个字符,那么就占1个长度

-- date 年月日 -- datetime 年月日 时分秒 -- 整数 5 TINYINT 1 SMALLINT 2 MEDIUMINT 3 INT 4 BIGINT 8 -- 浮点数 float 4 double 8 -- BLOB(大容量用来存储图片) text(大容量的字符串)例如新闻,小说 -- 创建一个基本的没有任何约束的表结构

-- 创建表,并为表添加约束

-- 主键约束:每一张表可以添加一个主键约束,不能为空,不能重复,可以表示表中唯一的一条记录

-- 不能为空约束:值不能为空 主键一张表只能有一个 不能为空,不能重复可以是多个列

-- 唯一约束:值不能重复

-- 检查约束(自定义条件)

-- 外键约束(多表关联时讲)

-- mysql 支持主键自动增长AUTO_INCREMENT 要设置自增,必须是整数类型

CREATE TABLE student( 
NO INT PRIMARY KEY AUTO_INCREMENT COMMENT '学号主键',
NAME VARCHAR(6) NOT NULL COMMENT '姓名', gender CHAR(1) DEFAULT '男', 
birthday DATE COMMENT '生日', height FLOAT(3,2) CHECK(height<2.5), 
phone VARCHAR(15) NOT NULL UNIQUE COMMENT '电话', 
address VARCHAR(30), 
reg_time DATETIME 
)

注意:创建表最后一行不用加逗号,否则会报错,逗号必须是英文的

-- 删除表 删除表结构,表中数据也就没有了

DROP TABLE IF EXISTS stu

-- 修改表名

RENAME TABLE student TO stu

-- 复制表结构 数据进行备份的时候创建一个相同结构的临时表

CREATE TABLE stu LIKE student

你可能感兴趣的:(数据仓库)