Mysql命令大全(精华版)

2024-03-29 04:58

本文主要是介绍Mysql命令大全(精华版),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

数据库的操作

a) 创建数据库:create database 库名[库选项];

b) 查看数据库:show databases;  show create database 库名;

c) 删除数据库:drop database [if exists] 库名

d) 修改数据库:只能修改库选项;alter database 库名 新的库选项

数据表操作

e) 选择数据库:显式的选择,在表名的前面加上库名;隐式的选择,use 库名;

f) 创建数据表:create table 表名(字段列表)[表选项];

g) 查看数据表:show tables;  show create table 表名; describe|desc 表名;

h) 修改数据表:

i. 修改表名:alter table 旧表名 rename to 新表名; rename table 旧表名 to 新表名

ii. 修改列定义:

1. 增加一列:alter table 表名 add 新字段名 字段类型;

2. 删除一列:alter table 表名 drop 字段名;

3. 修改字段类型:alter table 表名 modify 字段名 新的字段类型

4. 修改字段排序:alter table 表名 modify 字段名1 新的字段类型

first|after 字段名2

5. 重命名字段:alter table 表名 change 旧字段名 新字段名 新字段类型

iii. 修改表选项:alter table 表名 新的表选项(default charset gbk engine Myisam

数据操作

i) 插入数据:insert into 表名(字段列表) values(值列表)

j) 查看数据:select *|字段列表 from 表名 [where查询条件]

k) 删除数据:delete from 表名[where删除条件]   |  truncate table teacher; 连主键一起删

l) 修改数据:update 表名 set 字段1=新值1,字段2=新值2……[where修改条件]

列属性

a) null|not null,缺省值是null,也就是允许为空,如果是not null而又没有给该字段赋值的话,系统会首先查询该字段有没有默认值

b) default:给一个字段一个默认值,如果没有给该字段填充数据,就用该默认值来代替,通常就是配合not null一起使用

c) primary key:主键,唯一可区别其他记录的字段,一个表中只能有一个主键,也可以很多个字段组合成一个组合主键,而且不允许为空!

d) unique key:唯一键,与主键的区别是唯一键可以有很多个,而且允许为空

e) auto_increment:自动增长,使用这个属性有两个条件,第一该字段必须为整型,第二该字段必须存在索引,通常就是配合主键一起使用,也可以通过修改表选项设置自动增长的默认初始值

f) comment:列注释

m) 

数值类型

1. 整数

 

类型

大小

有符号(最小值/最大值)

无符号(最小值/最大值)

tinyint(m)

1个字节

-128/127

0/255

smallint(m)

2个字节

-32768/32767

0/65535

mediumint(m)

3个字节

-8388608/8388607

0/16777215

int(m)

4个字节

-2147483648/2147483647

0/4294967295

bigint(m)

8个字节

-9223372036854775808/9223372036854775807

0/18446744073709551615

 

2. 小数

类型

名称

大小

备注

float(M, D)

单精度数

4个字节

默认精度位数为67位左右(取决于操作系统)

double(M, D)

双精度数

8个字节

默认精度位数为1617位左右(取决于操作系统)

decimal(M, D)

定点数  也叫货币型

变长,大致是每9个数4个字节

M最大为65默认为10D最大为30默认为0

 

日期时间型

类型

显示格式

取值

大小

DATETIME

YYYY-MM-DD HH:MM:SS

1000-01-01 00:00:009999-12-31 23:59:59

8个字节

TIMESTAMP

YYYY-MM-DD HH:MM:SS

1970-01-01 00:00:002038-01-19 03:14:07 UTC

4个字节

DATE

YYYY-MM-DD

1000-01-019999-12-31

3个字节

TIME

HH:MM:SS

-838:59:59838:59:59

3个字节

YEAR

YYYY

19012155

1个字节

 

字符串类型

char和varchar

都需要指定字符的长度,char中的长度是字符的长度,而varchar的长度是字节的长度

char中指定的长度就是实际占用的长度,而varchar指定的长度只是一个范围,所以varchar还要拿1-2个字节存储该字符串到底有多少个字节,并且varchar中能够实际存储的字符跟编码有关(utf8编码20000多,gbk编码30000多)

varchar对存储空间的占用更灵活,但是char的效率更高

如果字符串的长度是固定已知的,就用char,如果字符串的长度是可变的,就用varchar

text:文本类型,使用起来类似于varchar,只不过这里不需要指定长度,其中longtext认为文本没有限制

enum:枚举类型,类似于单选!实际存储的是原选项的位置,位置用1,2,3,4来代替,理论上最多可以表示65535个选项

set:集合类型,类似于多选!实际存储的是也原选择的位置,位置用1,2,4,8来代替,然后把所有选项的位置相加,理论上最多可以表示64个多选项

binary、varbinary、blob:二进制文本类型,就是字节流的char、varchar和text,在实际的项目中,很少使用

类型

最大长度

备注

char 定长

定长字符类型:255字符

Char(M)M表示字符数

varchar 变长

变长字符类型:65535字节,但需要1-2个保存信息,同时由于记录的限制,实际最大值为65532

编码不同字符数不同:

Gbk<=32767

Utf8<=21845

tinyText

text

mediumText

longText

(2^8)  à 256字节

(2^16)-1  à65535字节,约64KB

(2^24)-1  à16777215字节,约16M

(2^32)-1字节  à4294967295字节,约4G

定义时无需指定长度,将会自动计算

enum

枚举:数字65535

内部存储是整型;字段只能是某一个值

set

集合:最多占8个字节,即64个状态值

 

 

这篇关于Mysql命令大全(精华版)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/857660

相关文章

Redis 的 SUBSCRIBE命令详解

《Redis的SUBSCRIBE命令详解》Redis的SUBSCRIBE命令用于订阅一个或多个频道,以便接收发送到这些频道的消息,本文给大家介绍Redis的SUBSCRIBE命令,感兴趣的朋友跟随... 目录基本语法工作原理示例消息格式相关命令python 示例Redis 的 SUBSCRIBE 命令用于订

防止Linux rm命令误操作的多场景防护方案与实践

《防止Linuxrm命令误操作的多场景防护方案与实践》在Linux系统中,rm命令是删除文件和目录的高效工具,但一旦误操作,如执行rm-rf/或rm-rf/*,极易导致系统数据灾难,本文针对不同场景... 目录引言理解 rm 命令及误操作风险rm 命令基础常见误操作案例防护方案使用 rm编程 别名及安全删除

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定

Java使用jar命令配置服务器端口的完整指南

《Java使用jar命令配置服务器端口的完整指南》本文将详细介绍如何使用java-jar命令启动应用,并重点讲解如何配置服务器端口,同时提供一个实用的Web工具来简化这一过程,希望对大家有所帮助... 目录1. Java Jar文件简介1.1 什么是Jar文件1.2 创建可执行Jar文件2. 使用java

MySQL中On duplicate key update的实现示例

《MySQL中Onduplicatekeyupdate的实现示例》ONDUPLICATEKEYUPDATE是一种MySQL的语法,它在插入新数据时,如果遇到唯一键冲突,则会执行更新操作,而不是抛... 目录1/ ON DUPLICATE KEY UPDATE的简介2/ ON DUPLICATE KEY UP

MySQL分库分表的实践示例

《MySQL分库分表的实践示例》MySQL分库分表适用于数据量大或并发压力高的场景,核心技术包括水平/垂直分片和分库,需应对分布式事务、跨库查询等挑战,通过中间件和解决方案实现,最佳实践为合理策略、备... 目录一、分库分表的触发条件1.1 数据量阈值1.2 并发压力二、分库分表的核心技术模块2.1 水平分

Python与MySQL实现数据库实时同步的详细步骤

《Python与MySQL实现数据库实时同步的详细步骤》在日常开发中,数据同步是一项常见的需求,本篇文章将使用Python和MySQL来实现数据库实时同步,我们将围绕数据变更捕获、数据处理和数据写入这... 目录前言摘要概述:数据同步方案1. 基本思路2. mysql Binlog 简介实现步骤与代码示例1

Android协程高级用法大全

《Android协程高级用法大全》这篇文章给大家介绍Android协程高级用法大全,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友跟随小编一起学习吧... 目录1️⃣ 协程作用域(CoroutineScope)与生命周期绑定Activity/Fragment 中手

使用shardingsphere实现mysql数据库分片方式

《使用shardingsphere实现mysql数据库分片方式》本文介绍如何使用ShardingSphere-JDBC在SpringBoot中实现MySQL水平分库,涵盖分片策略、路由算法及零侵入配置... 目录一、ShardingSphere 简介1.1 对比1.2 核心概念1.3 Sharding-Sp

MySQL 表空却 ibd 文件过大的问题及解决方法

《MySQL表空却ibd文件过大的问题及解决方法》本文给大家介绍MySQL表空却ibd文件过大的问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考... 目录一、问题背景:表空却 “吃满” 磁盘的怪事二、问题复现:一步步编程还原异常场景1. 准备测试源表与数据