MySQL数据库基础学习_02

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

本期内容主要是对SQL中DDL(DATA Definition Language)语句进行基本的学习和应用


``

一、DDL-库操作

① 查询:

查询所有数据库SHOW DATABASES;
查询当前数据库:SELECT DATABASE();
查询系统数据库

② 创建:

CREATE DATABASE [if not exists] 数据库名 [DEFAULT CHARSET 字符集] [COLLATE 排序规则]

在这里插入图片描述
创建名为zhang的数据库并且查询
tips:关于指定字符集:数据库中常用UTF8MB4 支持四个字节,一般汉字在UTF-8中占三个字节;

③ 删除:

DROP DATABASE [IF EXISTS];

④ 使用数据库:

USE 数据库名

使用数据库
以上就是关于DDL的库操作基本语句

二、DDL-表操作

①查询当前数据所有表:

SHOW TABLES;

如查询系统数据库中的所有表:

查询当前数据所有表

②创建表:

CREATE TABLE 表名(
字段1  字段1类型[COMMENT ‘字段1注释’],
字段2  字段2类型[COMMENT ‘字段2注释’],
…………
字段n字段n类型[COMMENT ‘字段n注释’]
)[COMMENT 表注释];

建立名为buff 的表

③查询表结构

DESC 表名;

buff表格式

④查询指定表的建表语句

SHOW CREATE TABLE 表名

查询buff表的建表语句
关于引擎ENGINE暂不做了解

⑤添加字段

ALTER TABLE 表名 ADD 字段名 类型(长度) [COMMENT 注释] [约束];

⑥修改数据类型

ALTER TABLE 表名 MODIFY 字段名 新类型(长度);

⑦修改字段名和字段类型

ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型(长度) [COMMENT 注释] [约束];

⑧删除字段

ALTER TABLE 表名 DROP 字段名;

⑨修改表名

ALTER TABLE 表名 RENAME TO 新表名;

⑩删除表

DROP table 表名;
TRUNCATE TABLE 表名;(只删除表数据而保留表结构)

3、练习

Task1:设计员工信息表:
1、编号(纯数字)
2、员工工号(字符类型)
3、员工姓名(字符串类型)
4、性别(男/女,存储一个汉字)
5、年龄(正常人年龄,不可能存储负数)
6、身份证号(二代身份证号均为18位,身份证中有X这样的字母)
7、入职时间(年月日)
8、备注
在这里插入图片描述

Task2:为emp表添加字段nickname 类型为varchar(20);
在这里插入图片描述
Task3:将nickname字段改为username,类型改为varchar(30)

在这里插入图片描述
Task4:删除字段username

在这里插入图片描述
Task5:重命名emp表名为employee

在这里插入图片描述
Task6:删除表
用truncate 删除:
在这里插入图片描述
DROP:
在这里插入图片描述

写在最后

补充
MySQL的字段类型
大致分为三类,学完后自行搜索了一下,常用的基本上如下所示:
数值类型:
整型:tinyint 1byte 有符号范围(-128-127)无符号范围(0-255)
smallint 2bytes 有符号范围(-32768-32767)无符号范围(0-65535)
mediumint 3bytes
int 4bytes
bigint 8bytes
浮点数:float(M,D) 4bytes 单精度浮点
double(M,D) 8bytes 双精度浮点
decimal(M,D) 依赖于精度M与标度E(如23.78,精度[长度]4,标度[小鼠数位数]为2
字符串类型:
char() 0-255bytes 定长字符串
varchar() 0-65535bytes 变长字符串
tinyblob 0-255bytes 二进制数据
tinytext 0-255bytes 短文本数据
blob 0-65535bytes 二进制长数据
text 0-65535bytes 长文本数据
mediumblob 中长二进制数据
mediumtext 中长文本数据
longblob 超长二进制数据
longtext 超长文本数据
== 时间类型:==
date 1000-01-01至9999-12-31
time -838:59:59至838:59:59 HH:MM:SS
datetime 1000-01-01 00:00:00至9999-12-31 23:59:59 混合时间日期
timestamp 1970-01-01 00:00:00 至2038-01-19 03:14:07 混合日期和时间值

  • 28
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值