【Django学习笔记(七)】MySQL的常用指令

前言

本文精选了一系列常用的 MySQL 指令,旨在快速上手并深入了解 MySQL 的操作,将从基础的数据库创建、表设计、数据插入,等方面,逐一介绍 MySQL 的常用指令,每个指令都将配以详细的解释和示例,以便能够更好地理解和应用。

正文

在 MySQL 和平时认知不同的概念:

MySQL认知
数据库文件夹
数据表文件(Excel文件)

1、数据库管理

1.1 查看已有的数据库

drop table 表名称;

在这里插入图片描述

1.2 创建数据库

create database 数据库名称 DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

在这里插入图片描述
在这里插入图片描述

1.3 删除数据库

drop database 数据库名称;

在这里插入图片描述
在这里插入图片描述

1.4 进入数据库

use 数据库名称;

在这里插入图片描述

1.5 查看数据库下的所有数据表

show tables;

在这里插入图片描述

2、数据表管理

2.1 创建数据表

create table 表名称(
	列名称 类型,
	列名称 类型,
	列名称 类型
) default charset=utf8;

例如:

create table tb1(
	id int ,
	name varchar(16) ,
	age int
) default charset=utf8;

在这里插入图片描述

show tables;

在这里插入图片描述

2.1.1 设置非空
create table 表名称(
	id int,
	name varchar(16) not null,  -- 不允许为空
	age int null-- 允许为空(默认)
) default charset=utf8;
2.1.2 设置默认值
create table 表名称(
	id int,
	name varchar(16) ,
	age int default 3           -- 插入数据时,age列的值默认为3
) default charset=utf8;
2.1.3 设置主键
create table 表名称(
	id int primary key,         -- 主键(不允许为空,也不允许重复)
	name varchar(16) ,
	age int
) default charset=utf8;

主键一般用于表示当前行的数据的编号

2.1.4 设置自增
create table 表名称(
	id int auto_increment primary key,         -- 内部维护,自增
	name varchar(16) ,
	age int
) default charset=utf8;

一般情况下,在创建表时都会这样来写【标准】

create table tb1(
	id int not null auto_increment primary key,
	name varchar(16),
	age int
) default charset=utf8; 

2.2 删除数据表

drop table 表名称;

在这里插入图片描述
在这里插入图片描述

2.3 查看数据表结构

desc 表名称;

在这里插入图片描述

3、常用数据类型

3.1 tinyint

  • 有符号, 取值范围: -128 ~ 127 (有正有负) 【默认】
  • 无符号, 取值范围: 0 ~ 255 (只有正)
create table tb1(
	id int not null auto_increment primary key,
	age tinyint				--有符号, 取值范围: -128 ~ 127
) default charset=utf8;
create table tb1(
	id int not null auto_increment primary key,
	age tinyint unsigned	--无符号, 取值范围: 0 ~ 255
) default charset=utf8;

3.2 int

  • 有符号, 取值范围: -2147483648 ~ 2147483647 (有正有负)
  • 无符号, 取值范围: 0 ~ 4294967295 (只有正)

3.3 bigint

  • 有符号, 取值范围: -9223372036854775808 ~ 9223372036854775807 (有正有负)
  • 无符号,取值范围: 0 ~ 18446744073709551615 (只有正)

3.4 int 数据类型练习

# 创建数据表
create table tb2(
	id int not null auto_increment primary key,
	salary int,
	age tinyint          --有符号, 取值范围: -128 ~ 127
) default charset=utf8;

在这里插入图片描述

show tables;

在这里插入图片描述

# 插入数据
insert into tb2(salary,age) values(10000,18);

在这里插入图片描述

# 批量插入数据
insert into tb2(salary,age) values(20000,28),(30000,38);

在这里插入图片描述

# 查看表中的数据
select * from tb2;

在这里插入图片描述

3.5 float

3.6 double

3.7 decimal

decimal(m,d) 

decimal 可以表达准确的小数值,m 是数字总个数(符号不算);d 是小数点后个数;
m 最大值为65,d 最大值为30

# 创建表
create table tb3(
	id int auto_increment primary key,		--内部维护,自增
	name varchar(16),
	salary decimal(8,2)						--一共8位(整数位数+小数点位数), 保留小数点后2位
) default charset=utf8;

在这里插入图片描述

# 插入数据
insert into tb3(salary) values(1.28);
insert into tb3(salary) values(5.289);
# 查询数据
select * from tb3;

在这里插入图片描述

3.8 char(m)

  • 定长字符串,默认固定用 11 个字符串进行存储,哪怕字符串个数不足,也按照11个字符存储;
  • m 代表字符串的长度;最多能存储255个字节的数据;
  • 查询效率高(手机号、密码等).
# 创建表
create table tb4(
	id int auto_increment primary key,		--内部维护,自增
	mobile char(11)
) default charset=utf8;

# 插入数据
insert into tb4(mobile ) values("151");
insert into tb4(mobile ) values("15123561566");

# 查询数据
select * from tb4;

在这里插入图片描述

3.9 varchar(m)

  • 变长字符串,默认最长 11 个字符,真实数据多长就按多长存储;
  • m 代表字符的长度;最多能存储 65535 个字节的数据,中文可存储 65535/3 个汉字;
  • 相对 char 类型,查询效率(用户名、邮箱等).

3.10 text

  • text 类型用于保存变长的大字符串,可以最多到 65535 个字符;
  • 一般情况下,长文本会用 text 类型,例如:文章、新闻等.

3.11 mediumtext(几乎不用)

3.12 longtext(几乎不用)

3.13 datetime

YYYY-MM-DD HH:MM:SS (1000-01-01 00:00:00/9999-12-31 23:59:59)

3.14 date

YYYY-MM-DD (1000-01-01/9999-12-31)

3.15 数据类型练习

# 创建表
create table tb7(
	id int auto_increment primary key,		--内部维护,自增
	name varchar(64) not null,
	password char(64) not null,
	email varchar(64) not null,
	age tinyint,
	salary decimal(10,2),
	ctime datetime
) default charset=utf8;

# 查询表
show tables;

# 插入数据
insert into tb7(name,password,email,age,salary,ctime) values("Jack","123","Jack@qq.com",19,1000.20,"2024-04-24 17:44:44");


# 查询数据
select * from tb7;

在这里插入图片描述
MySQL 还有很多其他的数据类型,例如:set、enum、TinyBlob、Blob、MediumBlob、LongBlob等,详细的话参考官方文档。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

禾戊之昂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值