连接本地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,创建表,数据类型的更多相关文章

  1. mysql 创建表时注意事项

    mysql  创建表时注意事项 mysql 想必大家都不会陌生吧  是我学习中第一个接触的的数据库 已学习就很快上手的   这是一个关系型数据库  不懂什么是关系型数据库 啊哈哈哈  现在知道啦  因 ...

  2. oracle与mysql创建表时的区别

    oracle创建表时,不支持在建表时同时增加字段注释.故采用以下方式: #创建表CREATE TABLE predict_data as ( id integer ), mid ), time dat ...

  3. 【转载】Mysql创建表时报错error150

    从mysql数据库中导出正常数据库的脚本语句,而后使用脚本语句创建数据库的过程中,执行语句提示Can't Create Table 'XXX' erro150的错误,语句执行中断,创建table失败, ...

  4. MySQL 创建表时,设置时间字段自己主动插入当前时间

    MySQL 创建表时,设置时间字段自己主动插入当前时间 DROP TABLE IF EXISTS `CONTENT`; CREATE TABLE `CONTENT` ( `ID` char(20) N ...

  5. Python MySQL 创建表

    章节 Python MySQL 入门 Python MySQL 创建数据库 Python MySQL 创建表 Python MySQL 插入表 Python MySQL Select Python M ...

  6. mysql创建表分区

    MySQL创建表分区 create table erp_bill_index( id int primary key auto_increment, addtime datetime ); inser ...

  7. Java学习笔记——MySQL创建表结构

    一.创建/删除数据库. create database t14; drop database t14; use t14; 二.创建若干表用于测试 这里预留了几个坑,下面要填坑的.. /*创建学生表*/ ...

  8. MYSQL创建表的约束条件(可选)

    一.常用的一些约束条件 一.创建表的完整语法1.创建表的万能模板:create table 库名.表名( 字段名1 类型[(宽度) 约束条件], 字段名2 类型[(宽度) 约束条件], 字段名3 类型 ...

  9. MySQL 创建表

     MySQL中create table语句的基本语法是: CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [(create_definition,. ...

  10. mysql创建表时,设置timestamp DEFAULT NULL报错1067 - Invalid default value for 'updated_at'

    问题背景: 线上的linux服务器上的mysql服务器中导出数据库的结构.想要在本地创建一个测试版本 导出后再本地mysql上运行却报错   1067 - Invalid default value ...

随机推荐

  1. 从原理带你掌握Spring MVC拦截处理器知识

    摘要:SpringWebMVC的处理器拦截器,类似于Servlet开发中的过滤器Filter,用于处理器进行预处理和后处理. 本文分享自华为云社区<不讲废话,全程干货,0基础带你学习Spring ...

  2. Jenkins Blue Ocean

    介绍 Blue Ocean 是 pipeline 的可视化UI.同时兼容经典的自由模式的 job.Jenkins Pipeline 从头开始设计,但仍与自由式作业兼容,Blue Ocean 减少了经典 ...

  3. SqlServer 服务无法启动 操作系统错误: 5(拒绝访问。)

    FCB::Open failed: 无法打开文件号 2 的文件 D:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA ...

  4. 让 ChatGPT 如虎添翼 2.0

    月初写了4个工具,让 ChatGPT 如虎添翼!,时隔二十多天,我又发现了基于ChatGPT的应用,只推最好用的,强烈建议大家都感受一下. 极简搭建 ChatGPT 演示网页 项目地址:https:/ ...

  5. Go--发起HTTP请求

    一.HTTP请求 根据 HTTP 标准,HTTP 请求可以使用多种请求方法.在日常开发中大多数会用到 5 种请求方法: GET.POST.PUT.PATCH 和 DELETE 方法 描述 GET 请求 ...

  6. OS | 透过 inode 来理解硬链接和软链接

    什么是inode? 每个文件都对应一个唯一的inode,inode用来存储文件的元信息,包括: 对应的文件 文件字节数 文件数据块的位置 文件的inode号码 文件的硬链接数 文件的读写权限 文件的时 ...

  7. 应届生必读:Java真实项目的开发流程和常用工具

    本文出自本人写的书,谢绝转载,更勿抄袭. 本人有多年的Java面试官经验,经常要和一些包装项目经验的求职者打交道.当然平时也兼职做些Java面试辅导工作,最近也陆续帮一些在校生朋友成功找到Java工作 ...

  8. 活动回顾|阿里云 Serverless 技术实战与创新上海站回放&PPT下载

    5月27日"阿里云 Serverless 技术实战与创新"上海站圆满落幕.活动现场邀请了来自阿里云 一线技术专家,分享当前 Serverless 趋势和落地实践过程中的挑战和机遇: ...

  9. 【转载】内存基本概念-slab算法

    Linux内存管理之slab 2:slab API https://blog.csdn.net/lqy971966/article/details/119801912 1. 为什么有了Buddy(伙伴 ...

  10. 核心技能之UI库选择

    移动端推荐: vant.cube-ui 有赞vant: https://youzan.github.io/vant/#/zh-CN/ 滴滴cube-ui: https://didi.github.io ...