MySQL知识汇总(一)

一些命令行操作注意加 分号 " ; "

show databases 查看所有数据库

use 数据库名 切换数据库

show tables 查看数据库中所有表

describe 表名 显示表中所有信息

create database [if not exists] 新库名 创建数据库

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

exit 推出链接

SQL注释

--单行注释

/* */ 多行注释

数据库数据类型

数值类型

tinyint 非常小的数据 1个字节

smallint 2字节

mediumint 3字节

int 4字节常用

bigint 8字节

float 4字节 浮点数
字符串

char 0~255

varchar 0~65535常用

tinytext 微型文本 2^8-1

text 文本串2^16-1 常用于保存大文本
时间日期

date date格式 YYYY--MM--DD

time HH--mm--ss

datetime YYYY--MM--DD HH--mm--ss最常用时间格式

timestamp 时间戳1970.1.1到现在的毫秒数

year 年份表示

字段属性

Unsinged 无符号整数

勾选后该列内容不能为负数

zerofill 零填充,不足的位数用零补齐

自增 auto_increment 在上一条基础上默认加一,

与主键设置相关,可以自定义步长与自增起始值

非空not null 必须赋值,不能为null

默认值 不赋值为默认值
primary key (' ') 指定主键

创表格式

CREATE TABLE [IF NOT EXISTS] 表名(

列名 数据类型 [属性] [索引] [注释],

列名 数据类型 [属性] [索引] [注释],

.....

列名 数据类型 [属性] [索引] [注释],

列名 数据类型 [属性] [索引] [注释],

primary key (列名) 前面几句加逗号,最后结束那句不加

) [表类型] [字符集设置]

一些语句查询帮助

show create database 库名 --查看创建数据库语句

show create table 表名 --查看创表语句

DESC 表名 --查看表的结构

对数据表字段进行操作

-- 修改删除表

-- 修改表名

ALTER TABLE `student1` RENAME AS `teacher`

-- 增加表的字段

ALTER TABLE `teacher` ADD agg INT(12)

-- 修改表的字段(重命名与修改约束)

ALTER TABLE `teacher` MODIFY `name` VARCHAR(11) DEFAULT 'jackie' -- 修改约束modify

ALTER TABLE `teacher` CHANGE `agg` age INT(13) -- 重命名change

-- 删除表的字段

ALTER TABLE `teacher` DROP `age`

insert语句

-- insert into 表名(字段一,字段二....)values(值1,值2,值3....)

-- 插入一行数据

INSERT INTO `student2`(`name`,age,address,sex) VALUES('张阿生',19,'北京市','女')

-- 插入多行数据

INSERT INTO `student2`(`name`,age,address,sex) VALUES('李梅',39,'上海市','女'),('王二明',40,'深圳市','男'),('trump',78,'美国','男')

update语句

-- 不指定条件的情况下,修改所有项

UPDATE `student2` SET `name`='胡昕昕'

-- 指定条件修改某一项

UPDATE `student2` SET `name`='张牛' WHERE id=1

-- 修改多个属性,逗号隔开

UPDATE `student2` SET `name`='王世友' ,`age`=78 WHERE id=2

-- 使用多个条件定位数据,条件之间用and,or连接

UPDATE `student2` SET `name`='张三牛' WHERE id=3 OR age=78

关于update语句中的"条件",不仅包括常见的=,!=,>,<,>=,<=

还有between .. and .. AND OR这些

and和or相当于java中的&&与||

between..and是界定范围,对范围内的项进行相应修改

UPDATE `student2` SET `name`='王必细' WHERE id BETWEEN 1 AND 3

delete语句与truncate语句

delete from 表名 +条件

truncate table 表名

二者之间区别在于删除后自增量是否会重置

delete不会重置,truncate会

相关推荐
口_天_光健1 小时前
两款轻量级数据库SQLite 和 TinyDB,简单!实用!
数据库·python·sqlite·非关系型数据库
notfindjob1 小时前
sqlite加密-QtCipherSqlitePlugin 下
数据库·算法·sqlite
凡人的AI工具箱1 小时前
每天40分玩转Django:Django部署
数据库·后端·python·算法·django
装不满的克莱因瓶1 小时前
【Redis经典面试题一】如何解决Redis和数据库一致性的问题?
数据库·redis·缓存·一致性·延迟双删·双写一致性
woshilys1 小时前
sql server msdb数据库备份恢复
数据库·sqlserver
play_big_knife2 小时前
鸿蒙项目云捐助第十六讲云捐助使用云数据库实现登录注册
数据库·华为云·harmonyos·鸿蒙·云开发·云数据库·鸿蒙开发
火鸟22 小时前
Java 初学者的第一个 SpringBoot3.4.0 登录系统
数据库·通用代码生成器·编程初学者·第一个系统·电音之王·springboot3.4.0·java初学者
总是学不会.2 小时前
【Mysql面试】MyISAM 与 InnoDB相关问题
数据库·mysql·面试
qq_2518364572 小时前
基于asp.net游乐园管理系统设计与实现
开发语言·前端·数据库·后端·asp.net
Navicat中国2 小时前
Navicat 17 功能简介 | SQL 美化
数据库·sql·mysql·dba·mariadb·navicat