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会

相关推荐
深蓝海拓14 分钟前
Pyside6(PyQT5)中的QTableView与QSqlQueryModel、QSqlTableModel的联合使用
数据库·python·qt·pyqt
C嘎嘎嵌入式开发2 小时前
什么是僵尸进程
服务器·数据库·c++
Yeats_Liao4 小时前
Navicat 导出表结构后运行查询失败ERROR 1064 (42000): You have an error in your SQL syntax;
数据库·sql
明月看潮生5 小时前
青少年编程与数学 02-007 PostgreSQL数据库应用 15课题、备份与还原
数据库·青少年编程·postgresql·编程与数学
明月看潮生5 小时前
青少年编程与数学 02-007 PostgreSQL数据库应用 14课题、触发器的编写
数据库·青少年编程·postgresql·编程与数学
加酶洗衣粉9 小时前
MongoDB部署模式
数据库·mongodb
Suyuoa9 小时前
mongoDB常见指令
数据库·mongodb
添砖,加瓦9 小时前
MongoDB详细讲解
数据库·mongodb
Zda天天爱打卡9 小时前
【趣学SQL】第二章:高级查询技巧 2.2 子查询的高级用法——SQL世界的“俄罗斯套娃“艺术
数据库·sql
我的运维人生9 小时前
MongoDB深度解析与实践案例
数据库·mongodb·运维开发·技术共享