【「mysql」DDL数据定义语言】文章首发地址
数据库的创建使用
- 直接创建数据库
create database community;
- 查看当前在哪个库里边
select database();
- 进入库的操作
use community;
- 判断是否存在,如果不存在则创建数据库
create database if not exists community;
- 创建数据库并指定字符集为 utf-8
create database community default character set utf-8;
- 查看某个库是什么字符集
show create database community;
- 查看当前mysql使用的字符集
show variables like 'character%';
文章图片
- mysql常见数据类型
<1>整数型 类型大小范围(有符号)范围(无符号unsigned)用途 TINYINT1 字节(-128,127)(0,255)小整数值 SMALLINT2 字节(-32768,32767)(0,65535)大整数值 MEDIUMINT 3 字节(-8388608,8388607)(0,16777215)大整数值 INT4 字节(-2147483648,2147483647)(0,4294967295)大整数值 BIGINT8 字节()(0,2的64次方减1)极大整数值 ? <2>浮点型 FLOAT(m,d)4 字节单精度浮点型备注:m代表总个数,d代表小数位个数 DOUBLE(m,d) 8 字节双精度浮点型备注:m代表总个数,d代表小数位个数 <3>定点型 DECIMAL(m,d)依赖于M和D的值备注:m代表总个数,d代表小数位个数 <4>字符串类型 类型大小用途 CHAR0-255字节定长字符串 VARCHAR0-65535字节变长字符串 TINYTEXT0-255字节短文本字符串 TEXT0-65535字节长文本数据 MEDIUMTEXT0-16777215字节中等长度文本数据 LONGTEXT0-4294967295字节极大文本数据 char的优缺点:存取速度比varchar更快,但是比varchar更占用空间 varchar的优缺点:比char省空间。但是存取速度没有char快 <5>时间型 数据类型字节数格式备注 date3yyyy-MM-dd存储日期值 time3HH:mm:ss存储时分秒 year1yyyy存储年 datetime8yyyy-MM-dd HH:mm:ss存储日期+时间 timestamp4yyyy-MM-dd HH:mm:ss存储日期+时间,可作时间戳
- 语法
CREATE TABLE 表名 ( 字段名 字段类型 约束条件 说明 );
- 约束条件
comment----说明解释 not null----不为空 default----默认值 unsigned----无符号(即正数) auto_increment----自增 zerofill----自动填充 unique key----唯一值
- 创建sql
CREATE TABLE `interview` ( `id` int(10) NOT NULL AUTO_INCREMENT, `title` varchar(128) DEFAULT NULL COMMENT '文章标题', `content` text COMMENT '文章内容', `html_content` varchar(128) DEFAULT NULL, `blog_img` varchar(128) DEFAULT NULL COMMENT '自动配图链接', `author_id` int(10) DEFAULT NULL COMMENT '作者id', `author_name` varchar(32) DEFAULT NULL COMMENT '作者昵称', `tag` int(3) DEFAULT NULL COMMENT '分类id', `type` int(2) DEFAULT '0' COMMENT '0:正常,1:置顶', `status` int(2) DEFAULT '0' COMMENT '0:正常,1:精华', `comment_count` int(11) DEFAULT '0', `score` double DEFAULT '0', `created` datetime DEFAULT NULL COMMENT '文章创建时间', `updated` datetime DEFAULT NULL COMMENT '文章更新时间', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
- 创建一张与post表结构一样的表
create table 新表名 as select * from post where 1=2;
- 创建一张与post表数据和结构一样的表
create table 新表名 as select * from post where 1=1; create table 新表名 like post;
- 查看数据库中的所有表
show tables;
文章图片
- 查看表结构
desc post;
文章图片
- 查看创建表的sql语句
show create table post;
- \G :有结束sql语句的作用并把显示的数据纵向旋转90度
show create table post \G
文章图片
- 修改表名
rename table post to discuss_post;
- 添加列
给表添加一列: alter table post add type varchar(2) comment '类型'; 给表最前面添加一列: alter table post add cate varchar(10) first; 给表某个字段后添加一列: alter table post add authorName varchar(32) comment '作者昵称'after id;
- 修改列类型
alter table post modify authorName varchar(64);
- 修改列名
语法:alter table 表名 change 旧列名 新列名 类型; alter table user change authorName author_name varchar(64);
- 删除列
alter table 表名 drop 列名; alter table user drop author_name;
- 修改字符集
alter table 表名 character set 字符集; alter table post characterset GBK;
- mysql表的删除
drop table 表名; drop table post;
推荐阅读
- mysql|InnoDB数据页结构
- javaweb|基于Servlet+jsp+mysql开发javaWeb学生成绩管理系统
- mysql|一文深入理解mysql
- Java毕业设计项目实战篇|Java项目:在线嘿嘿网盘系统设计和实现(java+Springboot+ssm+mysql+maven)
- SQL|SQL基本功(五)--函数、谓词、CASE表达式
- vue|电商后台管理系统(vue+python|node.js)
- Java及基础算法及数据结构|旧笔记整理(MySQL)
- mysql|双非本211硕,无实习无项目,自学大数据开发,秋招上岸
- 数据库|Mysql--InnoDB存储引擎详解
- MySQL学习笔记-9-order by