MySQL数据库管理

发布时间:2023年12月26日

目录

一、基本概念

(一)基础知识

1.数据

2.表

3.数据库

4.主键

5.唯一键

(二)数据库分类

1.关系型数据库(SQL)

(1)操作命令

(2)存储数据

(3)对象

(4)存储结构

①行(记录)

②列(字段)

2.非关系型数据库(NoSQL)

(三)语句

1.SQL语句规范

(1)大小写

(2)结尾

2.常用的数据类型

3.六大约束属性

(1)primary key 主键约束

(2)unique key?唯一性约束

(3)not null 非空约束

(4)auto_increment?自增约束

(5)foreign key?外键约束

(6)int(N) zerofill?零填充

4.SQL语句分类

二、MySQL数据库操作管理

(一)基础操作

1.查看命令

(1)查看当前服务器中的数据库

(2)查看当前服务器中的用户

(3)查看库中的表

?编辑

(4)查看表结构

(5)查看表结构

2.DDL管理数据对象

(1)创建库和表

(2)删除库

?编辑

(3)删除表

3.DML管理表数据

(1)在表中添加数据

(2)修改表中数据

4.DQL根据条件查询表数据

(1)查看表内容

(2)查看指定表中字段内容

(3)查看表的前N行

(4)查看表的第N行后,连续M行

(5)纵向查看每行记录的字段值

(6)修改表名

(7)表中添加字段

(8)添加默认属性

(二)高级操作

1.克隆表

(1)完全克隆

(2)不完全克隆

2.清空表数据

(1)逐条删除记录

?编辑(2)直接重建表

3.创建临时表


一、基本概念

(一)基础知识

1.数据

描述事务的符号记录

2.表

将不同的记录组织在一起

3.数据库

表的集合

4.主键

不能重复,每个表中只能有一个。且不能为空

5.唯一键

一个表可以有多个,且可以为空

(二)数据库分类

1.关系型数据库(SQL)

? ? ? ?结构是二维数据库表,二维表当中每个字段(列)用来描述对象的一个属性,每个记录(行)用来描述一个对象的信息(完整信息)表与表之间可能存在联系

(1)操作命令

sql语句

(2)存储数据

结构化数据

(3)对象

库-->表-->二维表格形式的,结构化的数据

(4)存储结构

二维表格

①行(记录)

描述对象的信息

②列(字段)

描述对象的属性

2.非关系型数据库(NoSQL)

? ? ? ?是一种数据结构化存储方法的集合,可以是文档、键值对、索引、时间序列等,不同类型数据库使用不同的存储结构

(三)语句

1.SQL语句规范

(1)大小写

在数据库系统中,除了指定库名、表名之外,SQL 语句不区分大小写

(2)结尾

SQL语句可单行或多行书写,默认以 " ; " 结尾

2.常用的数据类型

名称含义
int?数值,整型 无符号[0,2^32-1],有符号[-2^31,2^31-1]
float?单精度浮点 4字节32位
double?双精度浮点 8字节64位
char?字符,固定长度的字符类型
varchar可变长度的字符类型
text?文本
image?图片
decimal(5,2)?5个有效长度数字,小数点后面有2位

3.六大约束属性

(1)primary key 主键约束

主键约束 字段的值不能重复,不能为Null,一个表只能有一个主键

(2)unique key?唯一性约束

?唯一性约束 字段的值不能重复,但能为Null,一个表可以有多个唯一键

(3)not null 非空约束

非空约束 字段的值不能为Null default 默认值约束 字段的值如果没有设置则使用默认值自动填充

(4)auto_increment?自增约束

自增约束 字段的如果没有设置默认会从 1 开始每次自动递增 1,要求自增字段必须为主键

(5)foreign key?外键约束

?外键约束 保证外键表与主键表相关联的表数据的完整性和一致性

(6)int(N) zerofill?零填充

4.SQL语句分类

语句作用
DDL:数据定义语言用于创建数据库对象,如库、表、索引等
DML:数据操纵语言用于对表中的数据进行管理
DQL:数据查询语言用于从数据表中查找符合条件的数据记录
DCL:数据控制语言用于设置或者更改数据库用户或角色权限

二、MySQL数据库操作管理

(一)基础操作

1.查看命令

(1)查看当前服务器中的数据库
select version();

(2)查看当前服务器中的用户
select user();

(3)查看库中的表
show tables [from 库名];

(4)查看表结构
desc [库名.]表名;

(5)查看表结构
show create table 表名;
#查看表结构

2.DDL管理数据对象

(1)创建库和表
create database 库名;
#创建库
use 库名;
#进入库
create table 表名 (字段1 数据类型, 字段2 数据类型, ....[, primary key(字段)]);
#创建表

(2)删除库
drop database 库名;
#删除库

(3)删除表
drop table [库名.]表名;

3.DML管理表数据

(1)在表中添加数据

两种添加方法

insert into 表名 (字段1, 字段2, ....) values (字段1的值, 字段2的值, ....);
#在表中添加数据

insert into 表名 values (所有字段的值);
#在表中添加数据

(2)修改表中数据
update 表名 set 字段1=值[, 字段2=值, ....] where 条件表达式;

4.DQL根据条件查询表数据

(1)查看表内容
select * from 表名 [where 条件表达式];

(2)查看指定表中字段内容
select 字段1,字段2... from 表名 [where 条件表达式];

(3)查看表的前N行
select * from 表名 limit N;
#查看表的前N行(包括第N行)

(4)查看表的第N行后,连续M行
select * from 表名 limit N,M;
#查看表的第N行后,连续M行(不包括第N行)

(5)纵向查看每行记录的字段值
select * from 表名\G;

(6)修改表名
alter table 旧表名 rename 新表名;

(7)表中添加字段
alter table 表名 add 新字段 数据类型 [约束属性];

(8)添加默认属性
alter table 表名 add address varchar(60) default '找不到';

(二)高级操作

1.克隆表

(1)完全克隆

新表与旧表完全一致

create table 新表 like 旧表;
#克隆表结构
insert into 新表 (select * from 旧表);
#克隆表数据

(2)不完全克隆

新表数据和旧表一致,表结构和旧表不一定一致

create table 新表 (select * from 旧表);

2.清空表数据

(1)逐条删除记录

? ? ? ?清空表内容,一条一条的删除记录,效率较慢;自增长字段仍然会按照清空表前的最大记录继续自增。

delete from 表名;
desc 表名;
alter table 表名 change id idd int auto_increment;
#添加自增长属性
show create table 表名;
#查看表结构
delete from 表名;
#清空表数据
show create table 表名;

select * from 表名;
#查看表内容

insert into 表名(age,user) values (26,'cxk');
#添加数据
select * from 表名;
#查看表内容

#添加数据时,自增长字段仍然会按照清空表前的最大记录继续自增
(2)直接重建表

直接重建表,清空表效率更快;自增长字段会重新从 1 开始自增

truncate table 表名;

insert into 表名(age,user) values (26,'cxk');
#添加数据
select * from 表名;
#查看表内容

#添加数据时,自增长字段会重新从 1 开始自增

3.创建临时表

? ? ? ? 临时表跟普通表一样可以进行增删改查,但是show tables是查不到的; 临时表只能在当前会话中有效,退出当前会话或在其它会话中,临时表都会失效。

create temporary table (....);

insert into test values(1,'zhangsan','china');
#添加数据
select * from test;
#查看表内容
show tables from test
#查看表

文章来源:https://blog.csdn.net/byq002488/article/details/135157472
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。