数据库-MySQL-基础(2)-DDL操作
CSDN话题挑战赛第2期 参赛话题:学习笔记
目录
本篇文章参考黑马程序员数据库基础篇的DDL操作,希望可以对你的数据库学习有所帮助
一、DDL-数据库操作
查询所有数据库
SHOW DATABASES;
查询当前数据库
SELECT DATABASE();
假如执行了很多数据库操作,不知道在当前是哪个数据库可以使用,这个操作
创建
CREATE DATEBASE[IF NOT EXISTS] 数据库名[DEFAULT CHARSET 字符集] [COLLATE 排序规则];
出现 Query OK即可
如果再次输入create database itcast; 会创建失败
如果想数据库已经存在则不创建,不存在则创建可以使用
create database if not exists itcast;
设置字符集
utf8 : 存储三个字节
utf8mb4 : 存储四个字节
create database itheima default charset utf8mb4;
删除
DROP DATABASE[ IF EXISTS] 数据库名;
如果删除不存在的数据库就会报错,如果不想报错,可以使用:
drop database if exists test;
使用
USE 数据库名
二、 DDL -表操作-查询
查询当前数据库所有表
SHOW TABLES;
查询表结构
DESC 表名;
查询指定表的建表语句
SHOW CREATE TABLSE 表名;
三、 DDL -表操作-创建
创建:
CREATE TABLE 表名( 字段 1 字段 1 类型[ COMMENT 字段1注释], 字段 2 字段 2 类型[ COMMENT 字段2注释], 字段 3 字段 3 类型[ COMMENT 字段3注释], ....... 字段 n 字段 n 类型[ COMMENT 字段n注释], )[COMMENT 表注释];
注意:最后一个字段不要逗号
四、DDL数据类型和案例
1、数值类型
案例
如果想表示年龄可以用 (无符号):
age TINYINT UNSIGNED
表示学生分数可以用:
score double(4,1) /* 表示长度为四个单位,小数的长度为一个单位*/
2、字符串类型
带blob的是描述二进制数据的,带text的是描述文本数据的
char:
需要跟上参数,表示最长存储的字符长度,如 char(10),定长字符即使你使用一个字符,也会存储
存储十个字符的空间,未占用的空间会用空格进行补位,性能高。
如:性别 gender char[1]
varchar:
也要跟上参数如varchar(10),变长字符串,假如只存储一个字符,就只占用一个字符的空间,相对于char性能较低。
3、日期类型
date 和 datetime 往往用的更多
如: birthday date;
4、案例
根据需求创建表(设计合理数据类型,长度)
设计一张员工信息表,要求如下: 1.编号(纯数字) 2.员工工号 (字符串类型,长度不超过10位) 3.员工姓名(字符串类型,长度不超过10位) 4.性别(男/女,存储- -个汉字) 5. 年龄(正常人年龄,不可能存储负数) 6. 身份证号(二代身份证号均为18位,身份证中有X这样的字符) 7.入职时间(取值年月日即可)
create table emp( id int comment ' 编号', workno varchar(10) comment ' 工号 ', name varchar(10) comment ' 姓名', gender char(1) comment '性别', age tinyint unsigned comment ' 年龄', idcard char(18) comment '身份证号', entrydate datetime comment '入职时间' )comment '员工表';
输入desc emp;
五、DDL- 表操作-修改
添加字段
ALTEER TABLE 字段ADD 字段名 类型(长度) [COMMENT 注释] [约束]
为emp增加一个新的字段"昵称"为 nickname ,类型为varchar(10)
alter table emp add nickname varchar(20) comment '昵称';
修改数据类型
ALTER TABLE 表名 MODIFY 字段名 新数据类型(长度);
修改字段名和字段类型
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型(长度) [COMMENT注释] [约束];
案例:将emp表中的nickname 改为 username ,类型为varchar(30)
alter table emp change nickname username varchar(30) comment '用户名';
删除字段
ALTER TABLE 表名 DROP 字段名
案例:在emp表中删除username字段
alter table emp drop username;
修改表名
ALTET TABLE 表名 RENAME TO新表名
案例:将emp表修改为employee
alter table emp rename employee;
六、DDL-表操作-删除
删除表
DROP TABLE[IF EXISTS] 表名
删除指定表,并重新创建该表
TRUNCATE TABLE表名
可以帮助我们清空表中的数据
相关文章
- Mysql数据库insert into select 单表插入常量
- 数据库如何打造MySQL数据库?(怎么新建mysql)
- MySQL数据库快速重启指南(mysql重启)
- MySQL查询结果导出至Excel:一步到位(mysql查询结果导出excel)
- MySQL数据库之旅——借助导航猫一路前行(导航猫mysql)
- 深入探索:MySQL如何选择最佳数据库(mysql如何选择数据库)
- 如何快速实现文本导入MySQL数据库(文本导入mysql数据库)
- MySQL的主键与外键:关联数据库的关键技术(mysql的主键和外键)
- 同步从MySQL主从同步实现高可用(mysql主从状态)
- 成功通过MySQL二级考试的喜悦(mysql二级考试)
- MySQL如何判断字段长度?(mysql判断长度)
- MySQL 登录名的必要性与使用方法(mysql登录名)
- Wamp一键升级MySQL,轻松实现数据库升级操作(wamp升级mysql)
- MySQL新增支持分区功能,数据库性能提升明显(mysql支持分区)
- 优化MySQL表间关联,提升数据库性能(mysql表关联优化)
- 虚拟机MySQL连接本机—实现远程访问数据库”(本机连接虚拟机mysql)
- MySQL索引强制使用:提升数据库性能(mysql强制使用索引)
- 管理:实现MySQL多库管理的技巧和注意事项(mysql多库)
- :MySQL驱动数据库之旅(mysql 一句话)
- MySQL中超屌的CID优化你的数据库(cid mysql)
- 在bash中如何连接MySQL数据库(bash 连接mysql)
- MySQL强力驱动ARM数据库发展(arm数据库mysql)
- 用CMD命令导出MySQL数据库的小技巧(cmd导出mysql数据)
- MySQL中实现字符串分割(mysql中分割字符串)
- 深入了解MySQL函数性能,优化数据库操作效率(mysql中函数的性能)
- 范式Mysql数据库新手必读掌握三范式和反三范式的区别(mysql三范式和反三)
- MySQL未在数据库中,需要进行数据记录(mysql不存在就入库)