连接本地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. 云图说|分布式事务管理DTM:“买买买”背后的小帮手

    摘要:分布式事务管理DTM通过提供高性能.高可靠.低侵入等核心价值,可以更好的帮助企业应对微服务场景带来的一致性问题. 本文分享自华为云社区<[云图说]第224期 分布式事务管理DTM,&quo ...

  2. Xml Entity 实体互转(XStream)

    http://x-stream.github.io/tutorial.html 项目中用了 JAXB 方式 Xml Entity 实体互转(JAXB) 实体: import com.thoughtwo ...

  3. Treap(平衡树)

    Treap 前置芝士 二叉搜索树(BST),见 BST. 平衡二叉树(AVL). 先来介绍一下平衡二叉树. 背景 BST 出现以后,人们很快发现一个问题,当其维护一个有序序列时,很可能会退化成链.如图 ...

  4. 20级训练赛Round #5

    A - 凯少与素数 签到 & 思维题, 要使每一对数字 \((i,j)\) 的最大公约数都等于 1,简单来说区间相邻的两个数一定 \(gcd(i,j) = 1\) 并且 \((r - l)\) ...

  5. Educational Codeforces Round 82 (Rated for Div. 2) A. Erasing Zeroes(超简单的写法)

    题意: 统计间隔在1中0的个数 思路: 超简单写法,直接利用string的find.rfind函数即可 #include<bits/stdc++.h> using namespace st ...

  6. 1688 复杂业务场景下的 Serverless 提效实践

    1688 复杂业务场景下的 Serverless 提效实践 作者 | 远岩(阿里巴巴 CBU 技术部 Serverless & 工程效能负责人) 前言 首先为大家简单介绍一下我们的业务场景,1 ...

  7. C#设计模式09——组合模式的写法

    1. 什么是C#组合模式? 组合模式是一种结构型设计模式,它允许将对象组合成树形结构以表示"整体/部分"层次结构.使用此模式,客户端可以按相同的方式处理单个对象和对象集合,而不必关 ...

  8. 机器学习-线性分类-softmax回归 做多分类-10

    1. softmax回归 伯努利分布(0-1分布 二分类),我们采用Logistic回归(用sigmoid函数映射到 0-1之间 输出预测概率)建模. 那么我们应该如何处理多分类问题?(比如要进行邮件 ...

  9. Guava缓存工具类封装和使用

    本文为博主原创,未经允许不得转载: Guava是谷歌提供的一款强大的java工具库,里面包含了很多方便且高效的工具,在项目开发中有业务场景需要保存数据到内存当中, 且只需要保存固定时间就可以,该数据只 ...

  10. pycharm设置保存时自动格式化代码(Auto Reformat Code)

    原文:https://blog.csdn.net/qq_41906934/article/details/124631826 1.手动格式化代码 Code -> Reformat Code 格式 ...