学习MySQL,创建表,数据类型
连接本地mysql语句
mysql -hlocalhost -uroot -proot
MySQL通用语法

DDL数据库操作
DDL:数据定义语言,用来定义数据库对象(数据库,表,字段)

查询所有数据库
show databases;
创建数据库
语法:create database [if not exists] 数据库名称 [default charset 字符编码];
create database itdemo1[数据库名称];
ps:如果重复创建数据库名称,会创建失败;
那么我现在有一个想法:
如果某一个特数据库名称存在,则不创建,如果不存在,则创建。
我们可以使用if not exists
命令是:create database if not exists itdemo1;
在mysql中不不建议将字符编码设置为uft8;
因为uft8存储的最大长度是3个字节;
创建数据库并且设置字符集编码
create database demo02 default charset utf8mb4;
使用数据库
数据库创建成功之后,我们就需要使用数据库;
使用数据库是:
use itdemo1[数据库名称];
查询当前正在使用的数据库
select database();
删除数据库
语法:drop database [if exists] 数据库名称;
如果删除一个不存在的数据库,会报错;
drop database demo01; 删除demo01这个数据库
drop database if exists demo11; 如果存在demo11删除,不存在不删除
查询当前库中的所有表
show tables;
创建表
create table 表名 (
字段1 字段1类型 [comment 字段1 注释],
字段2 字段3类型 [comment 字段2 注释]
)[comment 表注释]
ps:最后一个字段是没有逗号的。特别强调
现在我们来创建一个
查看当前数据库中有哪些表
show tables;
查看创建表的注释描述
show create table tab_user(表名);
你会看见如下:
| tab_user | CREATE TABLE `tab_user` (
`id` int(11) DEFAULT NULL COMMENT '编号',
`name` varchar(50) DEFAULT NULL COMMENT '人物姓名',
`age` int(11) DEFAULT NULL COMMENT '年龄',
`sex` varchar(1) DEFAULT NULL COMMENT '性别0男,1女'
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='用户表'
其中:ENGINE=MyISAM 表示的存储引擎
CHARSET=utf8 字符编码
查看表的结构
desc 表名;
数据类型
MySQL中数据类型有很多。
主要分为3类:1.数值类型,字符串类型,日期时间类型。



char 与 varchar
在使用 char[定长字符串] 或者 varchar[变长字符创] 的时候,都需要跟上一个参数。
char(10)或者varchar(10) 表示:最大存储长度10个字符,超出报错。
char(10)表示你只存一个字符,也会占用10个字符的空间,未使用的空间使用空格进行补位。
所以我们一般是不会使用char。
varchar(10):如果你只使用了一个字符,那么它就占用一个字符的空间。
你使用2个字符,就占用2个字符的空间。
它会根据你使用的字符计算它所占用的空间。
char 与 varchar 的区别
1.char的性能好一些, varchar性能相对差一些。
因为:varchar会根据我们存储的内容去计算所占用的空间
什么场景使用char,什么场景使用 varchar
如果存储的内容是不固定的使用varchar,如用户名是5-10个长度
如果存储的内容是固定的,使用char,如:性别
创建一个员工信息表

create table personnel(
id int comment '员工编号',
workno varchar(10) comment '员工工号',
name varchar(10) comment '姓名',
sex char(2) comment '男或者女',
age tinyint unsigned comment '年龄',
idcard char(18) comment '身份证',
intime date comment '入职时间'
) comment '员工表';
关于年龄:我们在数值类型中有一个 tinyint 类型。
它的无符号类型在(0,255)之间,它是小整数值。
年龄使用它tinyint是合适的。
关于入职时间:关于时间有一个 date类型。
它的范围在1000-01-01至9999-12-31.
格式是YYYY-MM-DD,向出生日期,入职时间,都可以使用这份date
尾声
之前一直在说卷后端,都没有怎么行动,现在开始行动起来了。
现在的计划使用60天的时间,去学习MySQL。
希望学完之后,可以做到熟练使用。
加油! 学习的第一天。
学习MySQL,创建表,数据类型的更多相关文章
- mysql 创建表时注意事项
mysql 创建表时注意事项 mysql 想必大家都不会陌生吧 是我学习中第一个接触的的数据库 已学习就很快上手的 这是一个关系型数据库 不懂什么是关系型数据库 啊哈哈哈 现在知道啦 因 ...
- oracle与mysql创建表时的区别
oracle创建表时,不支持在建表时同时增加字段注释.故采用以下方式: #创建表CREATE TABLE predict_data as ( id integer ), mid ), time dat ...
- 【转载】Mysql创建表时报错error150
从mysql数据库中导出正常数据库的脚本语句,而后使用脚本语句创建数据库的过程中,执行语句提示Can't Create Table 'XXX' erro150的错误,语句执行中断,创建table失败, ...
- MySQL 创建表时,设置时间字段自己主动插入当前时间
MySQL 创建表时,设置时间字段自己主动插入当前时间 DROP TABLE IF EXISTS `CONTENT`; CREATE TABLE `CONTENT` ( `ID` char(20) N ...
- Python MySQL 创建表
章节 Python MySQL 入门 Python MySQL 创建数据库 Python MySQL 创建表 Python MySQL 插入表 Python MySQL Select Python M ...
- mysql创建表分区
MySQL创建表分区 create table erp_bill_index( id int primary key auto_increment, addtime datetime ); inser ...
- Java学习笔记——MySQL创建表结构
一.创建/删除数据库. create database t14; drop database t14; use t14; 二.创建若干表用于测试 这里预留了几个坑,下面要填坑的.. /*创建学生表*/ ...
- MYSQL创建表的约束条件(可选)
一.常用的一些约束条件 一.创建表的完整语法1.创建表的万能模板:create table 库名.表名( 字段名1 类型[(宽度) 约束条件], 字段名2 类型[(宽度) 约束条件], 字段名3 类型 ...
- MySQL 创建表
MySQL中create table语句的基本语法是: CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [(create_definition,. ...
- mysql创建表时,设置timestamp DEFAULT NULL报错1067 - Invalid default value for 'updated_at'
问题背景: 线上的linux服务器上的mysql服务器中导出数据库的结构.想要在本地创建一个测试版本 导出后再本地mysql上运行却报错 1067 - Invalid default value ...
随机推荐
- 如何快速准备高质量的AI数据?
摘要:随着AI的快速发展,如何快速准备大量高质量的数据已经成为AI开发过程中一个极具挑战性的问题! 本文分享自华为云社区<如何快速准备高质量的AI数据?>,原文作者:徐波. 一.背景 通常 ...
- WebKit三件套(2):WebKit之JavaScriptCore/V8
WebKit作为一个浏览器引擎,其中Javascript实现包括JavaScriptCore和V8,为了能更全面的了解WebKit,我们需要深入的了解Javascript实现的基本原理.其在WebKi ...
- 再谈BOM和DOM(7):HTML DOM Event 对象属性及DOM事件详细列表
之前写<再谈BOM和DOM(4):HTML DOM Event 对象>时候,对event对象及各种dom事件没有详细道来,这里些表格.备查. Event 对象 Event 对象代表事件的状 ...
- TS数据类型:从C++/Java/Python到TS看元组tuple—元组的来龙去脉
在C++有Java这种强类型语言中,常用的Array.List.Set ,在集合中只能是一种类型(可以复习下:<再谈Java数据结构-分析底层实现与应用注意事项). int data[] = n ...
- 干货来了!阿里发布近300页Flink实战电子书
近300页实用干货总结,帮你解决 Flink 实战应用难题!<Apache Flink电子书合辑>收录来自bilibili.美团点评.小米.OPPO.快手.Lyft.Netflix等一线大 ...
- 提升源代码安全性的C#和Java深度混淆工具——IpaGuard
提升源代码安全性的C#和Java深度混淆工具--IpaGuard 摘要 Ipa Guard是一款功能强大的IPA混淆工具,通过对iOS IPA文件进行混淆加密,保护其代码.资源和配置文件,降低破解反编 ...
- 2023 年汽车行业向好发展,火山引擎 VeDI 助力车企数智转型
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,并进入官方交流群 2023 年的汽车市场,预计能有一个向好的转型. 据中汽协公布的 2022 年 1-11 月累计汽车销量数据,达到 243 ...
- Axure 形状交互
- Mybatis 模块拆份带来的 Mapper 扫描问题
项目中,两个模块中都放了 Mapper,如下所示 @MapperScan(basePackages ={"com.vipsoft.his.mapper","com.vip ...
- 国内申请微软新必应(New Bing)
国内申请微软新必应(New Bing) 本文解决了两个问题: 1 需国外网络环境 2 点击加入候补名单无限返回错误 注册outlook邮箱 https://outlook.live.com/ 一步一步 ...