大家好,我是考100分的小小码 ,祝大家学习进步,加薪顺利呀。今天说一说MySQL总结(三)DDL数据定义语言-详解,希望您对编程的造诣更进一步.

每行语句需要选中后再执行,可以选中后按F9快捷键执行

1.1.2 具体操作
-- 直接创建数据库db1;
create database db1;
-- 判断数据库是否存在,如果不存在则创建数据库db2;
create database if not exists db2;
-- 创建数据库并指定字符集为gbk;
create database db3 default character set gbk;
代码100分
1.2 查看数据库
后面创建完成后需要刷新mysql服务器就可以看到了
代码100分-- 查看所有的数据库
show database;
-- 查看某个数据库的定义信息
show create database db3;
show create database db1;
1.3 修改数据库
1.3.1 修改数据库默认的字符集
ALTER DATABASE 数据库名 DEFAULT CHARACTER SET 字符集;
1.3.2 具体操作
- 将db3数据库的字符集改为utf8
代码100分ALTER DATABASE db3 DEFAULT CHARACTER SET utf8;
1.4 删除数据库
1.4.1 删除数据库的语法
DROP DATABASE 数据库名;
1.4.2 具体操作
- 删除db2数据库
DROP DATABASE db2;
1.5 使用数据库
1.5.1 查看正在使用的数据库
SELECT DATABASE(); 使用的一个mysql中的全局函数
1.5.2 使用/切换数据库
USE 数据库名;
1.5.3 具体操作
-- 查看正在使用的数据库
SELECT DATABASE();
-- 切换要使用的数据库
USE db4;
2.DDL操作表结构
操作某个数据库下的表
2.1 创建表
2.1.1 创建表语句格式
-- 创建表的格式
CREATE TABLE 表名(
字段名1 字段类型1,
字段名2 字段类型2
);
2.1.2 关键字说明
| 关键字 | 说明 |
|---|---|
| create | 创建 |
| table | 表 |
2.2 MySQL数据类型
2.2.1 常使用的数据类型
| 类型 | 说明 |
|---|---|
| int | 整型 |
| double | 浮点型 |
| varchar | 字符串型 |
| date | 日期类型,格式为yyyy-MM-dd,只有年月日,没有时分秒 |
2.2.2 详细数据类型
2.2.2.1 整数
| 类型名称 | 类型说明 |
|---|---|
| tinyInt | 微整形:很小的整数(占8位二进制) |
| smallint | 小整形:小的整数(占16位二进制) |
| int(Integer) | 整型:整数类型(占32位二进制) |
2.2.2.2 小数
| 类型名称 | 类型说明 |
|---|---|
| float | 单精度浮点数,占4个字节 |
| double | 双精度浮点数,占8个字节 |
2.2.2.3 日期
| 类型名称 | 类型说明 |
|---|---|
| time | 时间类型 |
| date | 日期类型 |
| datetime | 同时表示日期和时间类型 |
2.2.2.4 字符串
| 类型名称 | 类型说明 |
|---|---|
| char(x) | 固定长度的字符串,无论使用几个字符都占满全部,x为0~255之间的整数 |
| varchar(x) | 可变长度的字符串,使用几个字符就占用几个,x为0~65535之间的整数 |
2.2.2.5 大二进制
| 类型名称 | 类型说明 |
|---|---|
| tinyblob | 允许长度0~255 字节 |
| blob | 允许长度0~65535 字节 |
| mediumblob | 允许长度0~167772150 字节 |
| longblob | 允许长度 0~4294967295 字节 |
2.2.2.6 大文本
| 类型名称 | 类型说明 |
|---|---|
| tinytext | 允许长度 0~255 字节 |
| text | 允许长度 0~65535 字节 |
| mediumtext | 允许长度 0~167772150 字节 |
| longtext | 允许长度 0~4294967295 字节 |
2.2.3 具体操作
- 创建student表包含id,name,birthday 字段
CREATE TABLE student(
id INT, -- 整数
`name` VARCHAR(12), -- 字符串
birthday DATE -- 生日,最后没有逗号
);
2.3 查看表
2.3.1 查看某个数据库中的所有表
show tables;
2.3.2 查看表结构
desc 表名;
2.3.3 具体操作
- 查看db1 数据库中所有表
use db1;
show tables;
- 查看student表的结构
desc student;
- 查看student的创建表SQL语句
show create table student;
2.4 快速创建一个表结构相同的表
2.4.1 语法
CREATE TABLE 新表明 LIKE 旧表名;
2.4.2 具体操作
- 创建s1表,s1表结构和student表结构相同
-- 创建一个s1的表和student结构相同
create table s1 like student;
desc s1;
2.5 删除表
2.5.1 直接删除表
DROP TABLE 表名;
2.5.2 判断是否存在,如果存在则删除表
DROP TABLE IF EXISTS 表名;
2.5.3 具体操作
-- 直接删除s1表;如果表不存在,出现错误
drop table s1;
-- 判断表是否存在,并删除s1表;如果表不存在,不删除(无错误)
drop table if exists s1;
与直接删除的区别, 如果表不存在,不删除,存在则删除
2.6 修改表结构
2.6.1 添加表列ADD
- 格式
ALTER TABLE 表名 ADD 列名 类型;
- 为学生表添加一个新的字段remark,类型为varchar(20)
ALTER TABLE student ADD remark VARCHAR(20);
2.6.2 修改列类型MODIFY
- 格式
ALTER TABLE 表名 MODIFY 列名 新的类型;
- 将student表中的remark字段的类型改为varchar(100)
ALTER TABLE student MODIFY remark VARCHAR(100);
2.6.3 修改列名CHANGE
- 格式
ALTER TABLE 表名 CHANGE 旧列名 新列名 类型;
- 将student表中的remark字段名改为intro,类型为varchar(30);
ALTER TABLE student CHANGE remark intro VARCHAR(30)
2.6.4 删除列DROP
- 格式
ALTER TABLE 表名 DROP 列名;
- 删除student表中的字段intro
ALTER TABLE student DROP intro;
2.6.5 修改表名TO
- 格式
ALTER TABLE 表名 TO 新表名;
- 将学生表student名称改为student2
ALTER TABLE student TO student2;
2.6.6 修改字符集CHARACTER SET 字符集
- 格式
ALTER TABLE 表名 CHARACTER SET 字符集;
- 将student2表的编码修改为gbk
ALTER TABLE student2 CHARACTER SET gbk;
OK,这篇就到这里
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/8364.html