频道栏目
首页 > 资讯 > 其他综合 > 正文

DDL语句操作数据库的方式介绍

18-05-16        来源:[db:作者]  
收藏   我要投稿

DDL语句

Data Definition Language DDL数据定义语句,用于建库或建表

DDL 操作数据库

创建数据库的几种方式

 创建数据库
CREATE DATABASE 数据库名;

 判断数据库是否已经存在,不存在则创建数据库
CREATE DATABASE IF NOT EXISTS 数据库名;

 创建数据库并指定字符集(编码表)
CREATE DATABASE 数据库名 CHARACTER SET 字符集;

具体操作:

 直接创建数据库 db1
CREATE DATABASE db1;

 判断是否存在并创建数据库 db2
CREATE DATABASE IF NOT EXISTS db2;

 创建数据库并指定字符集为 gbk
CREATE DATABASE db2 CHARACTER SET gbk;

查看数据库

 查看所有的数据库 
SHOW databases;

 查看某个数据库的定义信息
SHOW CREATE DATABASE 数据库名;

修改数据库

修改数据库字符集格式
ALTER DATABASE 数据库名 DEFAULT CHARACTER SET 字符集;

具体操作:

 将 db3 数据库的字符集改成 utf8
ALTER DATABASE db3 DEFAULT CHARACTER SET utf8;

删除数据库

删除数据库的语法
DROP DATABASE 数据库名;

判断数据库是否存在并删除数据库
DROP DATABASE IF EXISTS 数据库名;

具体操作:

 删除 db2 数据库
DROP DATABASE db2;

-- 删除create数据库
DROP DATABASE `create`;  `这是一个转义符号

使用数据库

查看正在使用的数据库
SELECT DATABASE(); --DATABASE()是 mysql 函数

使用/切换数据库
USE 数据库名;

具体操作:

 查看正在使用的数据库
SELECT DATABASE();

 使用 db1 数据库
USE db1;

DDL 操作表

-- 前提先使用某个数据库 

创建表

创建表的格式

CREATE TABLE 表名 (

字段名 1 字段类型 1,

字段名 2 字段类型 2

);

关键字说明:

 CREATE -- 表示创建

 TABLE -- 表示创建一张表



MySQL 数据类型

详细的数据类型如下

分类 类型名称 说明

整数类型 
tinyInt 很小的整数
smallint 小的整数
mediumint 中等大小的整数
int(integer) 普通大小的整数


小数类型 
float 单精度浮点数
double 双精度浮点数
decimal(m,d) 压缩严格的定点数


日期类型 
year YYYY 1901~2155

time HH:MM:SS -838:59:59~838:59:59

date YYYY-MM-DD 1000-01-01~9999-12-3

datetime YYYY-MM-DD HH:MM:SS 1000-01-01 00:00:00~ 9999-12-31 23:59:59

timestamp YYYY-MM-DD HH:MM:SS 19700101 00:00:01 UTC~2038-01-19 03:14:07UTC


字符串 
CHAR(M) M 为 0~255 之间的整数

VARCHAR(M) M 为 0~65535 之间的整数

BLOB TINYBLOB 允许长度 0~255 字节

BLOB 允许长度 0~65535 字节

MEDIUMBLOB 允许长度 0~167772150 字节

LONGBLOB 允许长度 0~4294967295 字节


CLOB 
TINYTEXT 允许长度 0~255 字节

TEXT 允许长度 0~65535 字节

MEDIUMTEXT 允许长度 0~167772150 字节

LONGTEXT 允许长度 0~4294967295 字节


二进制 
VARBINARY(M) 允许长度 0~M 个字节的变长字节

BINARY(M) 允许长度 0~M 个字节的定长字节

具体操作:

-- 创建 student 表包含 id,name,birthday 字段
CREATE TABLE student (

 id INT,

 name VARCHAR(20),

 birthday DATE

);

快速创建一个表结构相同的表

CREATE TABLE 新表名 LIKE 旧表名;

具体操作:

 创建 s1 表,s1 表结构和 student 表结构相同
CREATE TABLE s1 LIKE student;

查看表

查看某个数据库中的所有表
SHOW TABLES;

查看表结构
DESC 表名;

查看创建表的 SQL 语句(以SQL语句返回表结构)
SHOW CREATE TABLE 表名;

具体操作:

 查看 mysql 数据库中的所有表
SHOW TABLES;

 查看 student 表的结构
DESC student;

 查看 student 的创建表 SQL 语句
SHOW CREATE TABLE student;

删除表

直接删除表
DROP TABLE 表名;

判断表是否存在并删除表
DROP TABLE IF EXISTS 表名;

具体操作:

 直接删除表 s1 表
DROP TABLE s1;

 判断表是否存在并删除 s1 表
DROP TABLE IF EXISTS s1;

修改表结构

添加表列
ALTER TABLE 表名 ADD 列名 类型;
 为学生表添加一个新的字段 remark,类型为 varchar(20)
ALTER TABLE student ADD remark VARCHAR(20);


修改列类型
ALTER TABLE 表名 MODIFY 列名 新的类型;
 将 student 表中的 remark 字段的改成 varchar(100)
ALTER TABLE student MODIFY remark VARCHAR(100);


修改列名
ALTER TABLE 表名 CHANGE 旧列名 新列名 类型;
 将 student 表中的 remark 字段名改成 intro,类型 varchar(30)
ALTER TABLE student CHANGE remark intro varchar(30);


删除列
ALTER TABLE 表名 DROP 列名;
 删除 student 表中的字段 intro
ALTER TABLE student DROP intro;

修改字符集
ALTER TABLE 表名 character set 字符集; 具体操作:
 将 student2 表的编码修改成 gbk
ALTER TABLE student2 character set gbk;

修改表名

RENAME TABLE 表名 TO 新表名;
 将学生表 student 改名成 student2
RENAME TABLE student TO student2;
相关TAG标签
上一篇:mysql Access denied for user root@localhost错误的解决教程
下一篇:windows64位上通过python3连接informix的方法
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站