IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> MySQL数据库的基本管理操作 -> 正文阅读

[大数据]MySQL数据库的基本管理操作

目录

一、基本概念

1.1库和表

1.2常用的数据类型

二、查看数据库

2.1 查看当前服务器中的数据库

2.2 查看数据库中包含的表

2.3 查看表的结构(字段)

2.4 查看mysql版本

三、SQL语句

3.1创建及删除数据库和表

3.1.1 创建新的数据库

3.1.2 创建新的表

3.1.3 删除指定的数据表

3.1.4删除指定的数据库

3.2 管理表中的数据记录

3.2.1向数据表中插入新的数据记录

3.2.2 查询数据记录

3.3修改、更新数据表中的数据记录

3.4 在数据表中删除指定的数据记录

3.5修改表名和表结构

3.5.1 修改表名

3.5.2 扩展表结构(增加字段)

3.5.3修改字段(列)名,添加唯一键

3.5.4删除字段

3.6 使用 if 判断 创建表并测试自增和填充

四、数据表高级操作

4.1克隆表——将数据表的数据记录生成到新的表中

法一:先创建再导入

法二:创建的时候同时导入

4.2 清空表——删除表内的所有数据

4.2.1 deldte删除

4.2.2truncate删除

4.2.3创建临时表

4.3 创建外键约束


一、基本概念

1.1库和表

数据库–>数据表–>行(记录):用来描述一个对象的信息

? ? ? ? ? ? ? ? ? ?_____ 列(字段):用来描述对象的一个属性

1.2常用的数据类型

  • int :整型

  • float :单精度浮点 4字节32位

  • double :双精度浮点 8字节64位

  • char :固定长度的字符类型

  • varchar :可变长度的字符类型

  • text :文本

  • image :图片

  • decimal(5,2) :5个有效长度数字,小数点后面有2位

二、查看数据库

2.1 查看当前服务器中的数据库

#大小写不区分,分号“;”表示结束
SHOW DATABASES;						

2.2 查看数据库中包含的表

USE 数据库名;
SHOW TABLES;

#示例1
use mysql
show tables;

2.3 查看表的结构(字段)

USE 数据库名;
SHOW TABLES;

#示例1
use mysql
show tables;

1.示例1:使用相对路径查看

法一:

?

?

法二:加\G

?

?

2.示例2:使用绝对路径查看

?

?

2.4 查看mysql版本

#在mysql内查看mysql版本
select version();

#在linux系统中查看mysql版本
mysql -V

1.在mysql内查看mysql版本

?

?

2.在linux系统中查看mysql版本

?

?

三、SQL语句

SQL语句用于维护管理数据库,包括数据查询、数据更新、访问控制、对象管理等功能。

SQL语句分类:

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

3.1创建及删除数据库和表

3.1.1 创建新的数据库

 CREATE DATABASE 数据库名; 
 
 #示例:创建一个名为hobby的数据库
 creat database hobby;

?

?

3.1.2 创建新的表

#主键一般选择能代表唯一性的字段不允许取空值(NULL),一个表只能有一个主键。
CREATE TABLE 表名 (字段1 数据类型,字段2 数据类型[,...][,PRIMARY KEY (主键名)]);
#示例:
use hobby;
create table info(id int(4) not null,name char(10),age int(3),hobby char(20),primary
key(id))
desc info;

?

?

3.1.3 删除指定的数据表

#如不用USE进入库中,则需加上数据库名
DROP TABLE [数据库名.]表名;				
#法一:使用绝对路径,需要进入表所在数据库
use hobby;
drop table info;
desc info;

?

?

#法二:使用相对路径,不需要进入表所在数据库
drop table student.info;
show tables in student;

?

?

3.1.4删除指定的数据库

DROP DATABASE 数据库名;

?

?

3.2 管理表中的数据记录

3.2.1向数据表中插入新的数据记录

#向数据表中插入新的数据记录
insert into 表名(字段1,字段2,字段3) values(字段1的值,字段2的值,字段3的值);

#示例1
insert into info(id,name,age,hobby) values(2,'yxp',18,'dance')
select * from info;

#示例2:直接使用表明加入字段
insert into info values(1,'dhc',20,'basketball')

#示例3:可以指定字段添加
insert into info(id,name,age) values(3,'dhc',20)

示例1

?

?

示例2:直接使用表明加入字段

?

?

示例3:可以指定字段添加

?

?

3.2.2 查询数据记录

#格式
SELECT 字段名1,字段名2[,...] FROM 表名 [WHERE 条件表达式];

#示例1:查看所有数据
select * from info;

#示例2:查询指定数据
 select name,hobby from info where id=1;
 
#示例3:以列表方式竖向显示
select * from info \G;

#示例4:只显示头2行
select * from info limit 2;

#示例5:显示第2行后的前2行

示例1:查看所有数据

?

?

示例2:查询指定数据

?

?

示例3:以列表方式竖向显示

?

?

示例4:只显示头2行

?

?

示例5:显示第2行后的前2行

?

?

3.3修改、更新数据表中的数据记录

#格式
UPDATE 表名 SET 字段名1=字段值1[,字段名2=字段值2] [WHERE 条件表达式];

#示例1:修改年龄和爱好
update info set age=19,hobby='sing' where id=1;

示例1:修改年龄和爱好

?

?

3.4 在数据表中删除指定的数据记录

#格式:
DELETE FROM 表名 [WHERE 条件表达式];

#示例:删除表中id为4的数据
delete from info where id=4

?

3.5修改表名和表结构

3.5.1 修改表名

ALTER TABLE 旧表名 RENAME 新表名;

#示例:将表名info修改成base

示例:将表名info修改成base

?

?

3.5.2 扩展表结构(增加字段)

#default 'default值':表示此字段设置默认值 地址未填写!;可与 NOT NULL 配合使用
ALTER TABLE 表名 ADD address varchar(50) default 'default值';

#示例
alter table base add address char(100) default'china'

?

?

?

?

3.5.3修改字段(列)名,添加唯一键

#格式
ALTER TABLE 表名 CHANGE 旧列名 新列名 数据类型 [unique key];
#示例:
alter table base change hobby user_hobby char(200) unique key;

?

?

?

?

3.5.4删除字段

#格式
ALTER TABLE 表名 drop 字段名;
#示例
alter table base drop age;

?

?

3.6 使用 if 判断 创建表并测试自增和填充

use hobby;

create table if not exists info.bak (
id int(4) zerofill primary key auto_increment,
name char(20) not null,
sid int(18) not null unique key,
ge int(3) not null,
address char(100));

分析:

  • if not exists:表示检测要创建的表是否已存在,如果不存在就继续创建

  • int(4) zerofill:表示若数值不满4位数,则前面用“0”填充,例0001

  • auto_increment:表示此字段为自增长字段,即每条记录自动递增1,默认从1开始递增;自增长字段数据不可以重复;自增长字段必须是主键;如添加的记录数据没有指定此字段的值且添加失败也会自动递增一次

  • unique key:表示此字段唯一键约束,此字段数据不可以重复;一张表中只能有一个主键, 但是一张表中可以有多个唯一键

  • not null:表示此字段不允许为NULL

?

?

测试:

?

?

四、数据表高级操作

4.1克隆表——将数据表的数据记录生成到新的表中

法一:先创建再导入

#通过 LIKE 方法,复制 info 表结构生成 test01 表
create table test01 like info;		
#导入数据
insert into test01 select * from info;	

?

?

?

?

?

?

法二:创建的时候同时导入

create table test02 (select * from info);

?

?

#获取数据表的表结构、索引等信息
show create table test01\G;

?

?

4.2 清空表——删除表内的所有数据

4.2.1 deldte删除

DELETE清空表后,返回的结果内有删除的记录条目;DELETE工作时是一行一行的删除记录数据的;如果表中有自增长字段,使用DELETE FROM 删除所有记录后,再次新添加的记录会从原来最大的记录 ID 后面继续自增写入记录。

#delete from 表名;
delete from info;					

?

?

4.2.2truncate删除

TRUNCATE 清空表后,没有返回被删除的条目;TRUNCATE 工作时是将表结构按原样重新建立,因此在速度上 TRUNCATE 会比 DELETE 清空表快;使用 TRUNCATE TABLE 清空表内数据后,ID 会从 1 开始重新记录

truncate table info;

?

?

4.2.3创建临时表

临时表创建成功之后,使用SHOW TABLES命令是看不到创建的临时表的,临时表会在连接退出后被销毁。 如果在退出连接之前,也可以可执行增删改查等操作,比如使用 DROP TABLE 语句手动直接删除临时表。

##添加临时表test03
create temporary table test03 (
id int(4) zerofill primary key auto_increment,
name varchar(10) not null,
cardid int(18) not null unique key,
hobby varchar(50));

## 查看当前库中所有表
show tables;	
##在临时表中添加数据
insert into test03 values(1,'zhangsan',123456789,'watch a film');	
##查看当前表中所有数据
select * from test03;
##退出数据库
quit						

##重新登录后进行查看		
mysql -u root -p
##查看之前创建的临时表中所有数据,发现已经被自动销毁
select * from test03;			

4.3 创建外键约束

主表:pro表结构如下:

?

?

?

?

子表:stu表结构如下:

?

?

?

?

与外键关联的子表的字段必须设置为主键。要求主表外键字段和子表的字段具备相同的数据类型、字符长度和约束。

#为主表设置主键
alter table pro add primary key(pid);
#为从表设置外键
alter table stu add foreign key (proid) references pro(pid);

?

?

?

?

测试:此时不可以删除主表,因为主表被外表引用,要查看和删除外键约束?,如果要删除外键约束字段先删除外键约束,再删除外键名

?

?

测试:删数数据记录时,要先从表再主表,也就是说删除主键表时必须先删除其他与之关联的表。

?

?

?

?

?

?

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-11-28 11:22:04  更:2021-11-28 11:23:39 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 7:45:49-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码