mysql学习笔记-数据定义语言DDL

DDL(数据定义语言)

创建:create
修改:alter
删除:drop

一、库的管理

  1. 库的创建
    CREATE DATABASE books;
    CREATE DATABASE IF NOT EXISTS books;
  2. 库的修改
    RENAME DATABASE books TO newbook;(报错,这个命令应该适用于5.1.7到5.1.23版本)
    更改库的字符集
    ALTER DATABASE books CHARACTER SET gbk;
  3. 库的删除
    DROP DATABASE IF EXISTS books;

二、表的管理

  1. 表的创建
    CREATE TABLE 表名(
    列名 列的类型 【(长度)约束】,
    列名 列的类型 【(长度)约束】,
    列名 列的类型 【(长度)约束】,

    列名 列的类型 【(长度)约束】
    )
  2. 表的修改
  3. 表的删除
  4. 查看表的信息:DESC book;

(1)表的创建
CREATE TABLE book(
id INT ,
bname VARCHAR(20) ,
price DOUBLE ,
authorId INT,
publishDate DATETIME
)
(2)表的修改
ALTER TABLE 表名 add|drop|modify|change column 列名 【列类型 约束】;
ALTER TABLE 表名 add 列名 类型 【first|after(新列位置) 字段名】;
1.修改列名
ALTER TABLE book CHANGE COLUMN publishdate pubDate DATETIME;
2.修改列的类型或约束
ALTER TABLE book MODIFY COLUMN pubDate TIMESTAMP;
3.添加新列
ALTER TABLE book ADD COLUMN annual DOUBLE;
4.删除列
ALTER TABLE book DROP COLUMN annual;
5.修改表名
ALTER TABLE book RENAME TO newbook;
(3)表的删除
DROP TABLE newbook;
DROP TABLE IF EXISTS newbook;
(4)表的复制
1.仅复制表结构
CREATE TABLE copy LIKE book;
2.复制表的结构+数据
CREATE TABLE copy2 SELECT * FROM book;

若只复制部分数据,只需添加筛选条件

三、常见的数据类型
数值型:
整型
小数
定点数
浮点数
字符型:
较短的文本:char、varchar
较长的文本:text、blob(较长的二进制数据)
日期型:

(1)整型:

类型字节数
tinyint1
smallint2
mediumint3
int/integer4
bigint8

特点:1.默认设置有符号数,无符号添加unsigned
2.如果插入数值超过整型范围,报异常
3.默认长度在不设置时代表显示的最大宽度,可配合zerofill使用填满

如何设置无符号和有符号
CREATE TABLE tab_int(
t1 INT ,
t2 INT UNSIGNED
);
无符号插入负数报错

(2)小数
1.浮点型
float(M,D)
double(M,D)
2.定点型
dec(M,D)
decimal(M,D)
3.M和D
M:整数位+小数位
D:小数部位
decimal中M默认为10,D默认为0
float和double根据插入的数值决定精度
4.
CREATE TABLE tab_float(
f1 FLOAT(5,2) ,
f2 DOUBLE(5,2) ,
f3 DECIMAL (5,2)
);
5.选择的类型越简单越好,保存数值的类型越小越好
6.精度要求较高,优先考虑定点数

(3)字符型
较短的文本:char、varchar
较长的文本:text、blob(较长的二进制数据)
binary和varbinary类型(用于保存较短的二进制):类似于char、varchar,但它们只用于二进制字符串
enum(用于保存枚举)类型:要求插入的值必须属于列表,若列表成员数为1-255,需用一个字节存储,1-65535需两个字节,最多需65535个成员
set类型(用于保存集合):和enum类似,可保存64个成员,但set类型可以一次选取多个成员,每8个成员需要一个字节

写法最大的字符数特点空间的耗费效率
charchar(M)255固定长度的字符(M可省略,默认为1)比较耗费
varcharvarchar(M)65535(M不可省略)可变长度的字符比较节省

(4)日期型
date:只保存日期
time:只保存时间
year:只保存年
datetime:保存日期+时间
timestamp:保存日期+时间
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值