Mysql数据库基本操作与简单管理

news2025/1/11 11:13:45

目录

一、MySQL数据库基本操作

1、SQL的分类

2、SQL语言的书写规范

3、数据库对象的命名

4、SQL的语句分类

5、查看帮助信息

6、查看,修改字符集

二、管理MySQL数据库

1、查看数据库的结构

1.1查看数据库

1.2查看数据库中的表

1.2.1方法一:

1.2.2方法二:

1.3查看表的结构(字段)

1.4查看mysql版本

2、数据类型

2.1常用数据类型

2.2数据类型参考

2.3整数型

2.4浮点型,近似值

2.5定点数

2.6字符串

3、创建,删除数据库和表

3.1创建新的数据库

3.2删除指定的数据库

3.3创建数据表

3.4删除指定的数据表

4、管理表中的数据记录

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

4.2查询数据表内的数据记录

补充:

4.3修改,更新数据表中的数据记录

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

5、修改表名称和表的结构

5.1修改表的名称

5.2扩展表结构,增加字段

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

5.4删除字段

6、查看,修改字符集

6.1查看MySQL支持的所有字符集

6.2查看数据字符集

6.3查看数据表的字符集

6.4修改数据库字符集


一、MySQL数据库基本操作

1、SQL的分类

数据库:database

表:table

行:row 列:column

索引:index 视图:view

存储过程:procedure

存储函数:function 

触发器:trigger

事件调度器:event scheduler 任务计划

用户:user 权限:privilege

2、SQL语言的书写规范

①SQL语句不区分大小写

②SQL语句可单行或者多行书写,默认以“;”结尾

③关键词不能跨多行或者简写

④用空格和tab建缩进来提高语句的可读性

⑤子句通常位于独立行,便于编辑,提高可读性

3、数据库对象的命名

命名的规则

必须以字母开头,后续可以包括字母,数字和三个特殊字符(# _ $)

不要使用MySQL的保留字,如tabble select show databases

4、SQL的语句分类

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

①DDL类语言:create drop alter

②DML类语言:insert delete update

③DQL类语言:select

④DCL类语言:grant revoke

⑤TCL类语言:commit rollback savepoint

5、查看帮助信息

#help后面跟上具体命令可以查看帮助
例如:mysql> help create

6、查看,修改字符集

1. #查看支持字符集
show charset;
默认拉丁文字,需要修改为
 
utf8     | UTF-8 Unicode   
#阉割版的
 
utf8mb4  | UTF-8 Unicode 
#真实的版本
 
2. #修改字符集
vim /etc/my.cnf
[mysqld]
character-set-server=utf8mb4

二、管理MySQL数据库

1、查看数据库的结构

1.1查看数据库
show databases;					#大小写不区分,分号“;”表示结束

1.2查看数据库中的表
方法一:在库中查看表
use mysql;             #use 数据库名
show tables;           #查看表
 
法二 :在库外查看表
show tables from mysql;    #show tables from 数据库名
1.2.1方法一:

1.2.2方法二:

1.3查看表的结构(字段)
use 数据库名;
describe [数据库名.]表名;
可缩写成:desc 表名;

1.4查看mysql版本
mysql -V

2、数据类型

2.1常用数据类型
类型说明
int整型,用于定义整数类型的数据
fload单精度浮点4字节32位,准确表示到小数点后六位
double双精度浮点8字节64位
char固定长度的字符类型,用于定义字符类型数据。
varchar可变长度的字符类型
text文本
image图片
decimal(5,2)5个有效长度数字,小数点后面有2位。指定长度数组

注意:char

char的长度是不可变。char如果存入数据的实际长度比指定长度要小,会补空格至指定长度,如果存入的数据的实际长度大于指定长度,低版本会被截取高版本会报错。

varchar

varchar长度是可变的,默认会加一个隐藏的结束符号,因此结束符会多算一个字节。

2.2数据类型参考

尽量要避免null,包含为null的列,对mysql更难优化

2.3整数型

tinyint(m) 1个字节 范围(-128~127)

smallint(m) 2个字节 范围(-32768~32767)

mediumint(m) 3个字节 范围(-8388608~8388607)

int(m) 4个字节 范围(-2147483648~2147483647)

bigint(m) 8个字节 范围(+-9.22*10的18次方)

2.4浮点型,近似值

float(m,d)单精度浮点型8位精度(4个字节)。m是总个数,d是小数位

注意:小数点不占用总个数。

double(m,d)双精度浮点型16位精度(8字节)。m总个数,d是小数位。

注意:小数点不占用总个数。

设一个字段定义为float(6,3),如果插入一个数123.45678,实际数据库存的是123.456,但总个数还以实际为准,即6位。

2.5定点数

格式:decimal(m,d)表示最多m位数字,其中d个小数,小数点不在长度内。

例如decimal(8,4)总共能存8位数字,末尾4位是小数,字段最大是9999.9999(小数点不算在长度内)

2.6字符串

char固定长度,最多255个字符

varchar可变长度最多65535个字符

3、创建,删除数据库和表

3.1创建新的数据库
#建立数据库 
create database 数据库名;
 
#建立数据库并指定字符集utf8mb4
create database 数据库名 charset=utf8mb4;
后文有详细操作及其演示

3.2删除指定的数据库
drop database 数据库名;

3.3创建数据表
use 数据库名;
create table 表名 (字段1 数据类型,字段2 数据类型[,...][,primary key (主键名)]);
#主键一般选择能代表唯一性的字段不允许取空值(NULL),一个表只能有一个主键。
 
例如:
use zhuzi;
create table students (id smallint unsigned primary key auto_increment, name varchar(10), age tinyint unsigned,gender enum('M','F') default 'M' );
 
#unsigned:取消负数
primary  key:主键
auto_increment: 自增长
enum('M','F'):多选 
default 'M':默认值为 M

3.4删除指定的数据表
方法一:库内删除
use 数据库名;
drop table 数据表名;
 
方法二:库外删除
#如不用USE进入库中,则需加上数据库名
drop table 数据库名.数据表名;			

4、管理表中的数据记录

4.1向数据表中插入新的数据记录
insert into 表名(字段1,字段2[,...]) values(字段1的值,字段2的值,...);
 
例如:
insert into students(id,name,age,passwd) values(2,'lisi',20,'112233' );
insert into students(id,name,age,passwd) values(2,'jiami',22,PASSWORD('123456'));
#PASSWORD('112233'):查询数据记录时,密码字串以加密形式显示;若不使用PASSWORD(),查询时以明文显示
select * from students;
 
提前新建数据表(注意长度设置)
use mysql;
create table students (id smallint unsigned primary key auto_increment, name varchar(10),age tinyint unsigned, passwd varchar(48));

4.2查询数据表内的数据记录
select 字段名1,字段名2[,...] from 表名 [where 条件表达式];
 
基本操作:
1. #查询全部数据
select * from 数据表名;
例如:
select * from students;
 
2. #查询指定数据
例如:
select id,name from students where id=2;

补充:
更多操作:
3. #以列表方式竖向显示
select * from 数据表名\G;			
例如:
select * from students\G;
 
4. #只显示头2行
select * from 数据表名 limit 2;
例如:	
select * from students limit 2;
 
5. #显示第3行后的2行
select * from 数据表名 limit 3,2;
例如:
select * from students limit 3,2;

4.3修改,更新数据表中的数据记录
update 表名 set 字段名1=字段值1[,字段名2=字段值2] [where 条件表达式];
 
例如:
update students set age=19 where id=4;
update students set age=20,passwd='111111' where id=2;    #同时修改age和passwd
 

4.4在数据表中删除指定的数据记录
delete from 表名 [where 条件表达式];
 
例如:
delete from students where id=2;
 
!!!!注意id并不会顶上去!!!!

注意:id为2的数据行依旧是2,并不会替换1的位置成为1。

5、修改表名称和表的结构

5.1修改表的名称
alter table 旧表名 rename 新表名;
 
例如:
alter table students rename xuesheng;

5.2扩展表结构,增加字段
alter table 表名 add 字段;
 
例如:
alter table xuesheng add address varchar(50) default 'wait get';
#default 'wait get':表示此字段设置默认值 wait get;可与 NOT NULL 配合使用

5.3修改字段(列)名,添加唯一键
alter table 表名 change 旧列名 新列名 数据类型 [unique key];
 
例如:
alter table xuesheng change name user_name char(30) unique key;
#CHANGE可修改字段名、数据类型、约束等所有项。
验证:
insert into xuesheng values(6,lili,23,234567,NANKING);
失败,因为设置了唯一键,lili不能重复,改成lulu即可
insert into xuesheng values(6,lulu,23,234567,NANKING);

5.4删除字段
alter table 表名 drop 字段名;
 
例如:
#删除表中passwd字段
alter table xuesheng drop passwd;

6、查看,修改字符集

6.1查看MySQL支持的所有字符集
show charset;

6.2查看数据字符集
show create database 数据库名\G
 
例如:
#查看mysql数据库中mysql库的字符集
show create database mysql\G

6.3查看数据表的字符集
show table status from 库名 like '表名';
 
例如:
#查看zhuzi数据库中students表的字符集
show table status from zhuzi like 'students';

6.4修改数据库字符集
#建立数据库并指定字符集utf8mb4
create database 数据库名 charset=utf8mb4;
 
#若数据库已建立,修改字符集
alter database 数据库名 character set 字符集;
例如:
alter database mysql character set utf8mb4;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1531579.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

excel 破解 保护工作簿及保护工作表

excel 破解 保护工作簿及保护工作表 对于这种 保护工作簿及保护工作表 不知道密码时,可以使用以下方法破解 保护工作簿破解 打开受保存的excel 右键点击sheet名称 —> 查看代码 复制以下代码,粘贴到代码区域 Sub 工作簿密码破解() ActiveWorkbook.…

题目 2086: 最长公共子序列

题目描述: 给定两个字符串,寻找这两个字串之间的最长公共子序列。 解题思路: 以二维数组的方式遍历两个字符串,行和列要加一,方便计算, 当遍历的两个字符相同时,就代表他两个字符串中都有这个字符, 就让…

先进的人工智能促进更好的业务沟通

提升商务沟通效率:了解SaneBox智能电子邮件管理工具 在现代商业环境中,有效的沟通至关重要。 先进的人工智能技术,特别是在电子邮件管理方面,正在改变企业处理沟通的方式,提高效率和个性化。 下面,我们深入…

算法学习(持续更新中)

学习视频:一周刷爆LeetCode,算法大神左神(左程云)耗时100天打造算法与数据结构基础到高级全家桶教程,直击BTAJ等一线大厂必问算法面试题真题详解(马士兵)_哔哩哔哩_bilibili 时间复杂度 一个操…

2024年云仓酒庄佛山发布会:赋能

原标题:2024年云仓酒庄佛山发布会圆满落幕,朱囿臻总赋能引领行业新篇章 近日,备受瞩目的云仓酒庄佛山发布会圆满落幕。此次发布会汇聚了业内精英、经销商代表以及媒体人士,共同见证了云仓酒庄在佛山市场的启航。在此,…

实现防抖函数并支持第一次立刻执行(vue3 + ts环境演示)

1、先看一效果: 2、实现思路: 使用定时器setTimeout和闭包实现常规防抖功能;增加immediate字段控制第一次是否执行一次函数(true or false);增加一个flag标识,在第一次执行时,将标…

YZ系列工具之YZ08:窗体加载图片后进行放大查看

我给VBA下的定义:VBA是个人小型自动化处理的有效工具。利用好了,可以大大提高自己的工作效率,而且可以提高数据的准确度。我的教程一共九套一部VBA手册,教程分为初级、中级、高级三大部分。是对VBA的系统讲解,从简单的…

【安全类书籍-2】Web渗透测试:使用Kali Linux

目录 内容简介 作用 下载地址 内容简介 书籍的主要内容是指导读者如何运用Kali Linux这一专业的渗透测试平台对Web应用程序进行全面的安全测试。作者们从攻击者的视角出发,详细阐述了渗透测试的基本概念和技术,以及如何配置Kali Linux以适应渗透测试需求。书中不仅教授读者…

软件工程-第9章 软件工程项目管理概述

9.1 软件工程管理活动 9.2 软件规模、成本和进度估算 9.3 能力成熟度模型CMM 9.4 ISO 9000系列标准简介 9.5 CMM与ISO 9000系列标准的比较 9.6 本章小结

Docker与containerd:容器技术的双璧

🐇明明跟你说过:个人主页 🏅个人专栏:《Docker幻想曲:从零开始,征服容器宇宙》 🏅 🔖行路有良友,便是天堂🔖 目录 一、前言 1、Docker和containerd的背景…

【C++】堆区空间的申请和释放--- 2024.3.19

目录 C和C的区别(申请堆区空间)C中的new和delete结束语 C和C的区别(申请堆区空间) 在c语言中,在遇到需要申请一块堆区空间时,我们往往会使用malloc申请,使用free进行释放,但是为什么…

深入浅出前端本地储存

引言 2021 年,如果你的前端应用,需要在浏览器上保存数据,有三个主流方案: CookieWeb Storage (LocalStorage)IndexedDB 这些方案就是如今应用最广、浏览器兼容性最高的三种前端储存方案 今天这篇文章就聊一聊这三种方案的历史…

漏洞扫描服务为什么这么重要?

漏洞扫描服务作为网络安全领域的重要一环,发挥着不可或缺的作用。漏洞扫描服务不仅能够实时防护网络免受各类恶意攻击,还能为网络管理人员提供定期的安全自我检测与评估,确保网络的稳定与安全运行。那么什么是漏洞扫描呢? 漏洞是在…

蓝桥杯之动态规划冲刺

文章目录 动态规划01背包小练一下01背包网格图上的DP完全背包 最长公共字符串最长递增子序列 动态规划 动态规划:确定好状态方程,我们常常是确定前 当状态来到 i 时,前 i 个物体的状态是怎么样的,我们并不是从一个点去考虑&#x…

【1】THIS IS NOT PROLIFIC PL2303. PLEASE CPMTACT YOUR SUPPLIER

0x01 问题描述 连接COM口连接不上,出现THIS IS NOT PROLIFIC PL2303. PLEASE CPMTACT YOUR SUPPLIER.如下图 0x02 问题解决 1、分析后,因为是windows 11 系统,就装一下驱动。右键单击--》属性 2、更新驱动程序--》浏览我的电脑以查找驱动程序…

企业应如何建立有效的内控制度?

内部控制制度(以下简称“内控制度”)作为企业生产经营活动自我调节、自我约束的内在机制,在企业管理系统中具有举足轻重的作用。内部控制制度的建立、健全及实施情况的好坏,是企业生产经营成败的关键。因此,企业应该建…

粒子群算法 - 目标函数最优解计算

粒子群算法概念 粒子群算法 (particle swarm optimization,PSO) 由 Kennedy 和 Eberhart 在 1995 年提出,该算法模拟鸟群觅食的方法进行寻找最优解。基本思想:人们发现,鸟群觅食的方向由两个因素决定。第一个是自己当初飞过离食物…

软件工程-第三版王立福-第1章 绪论

本书结合IEEE最新发布的软件工程体系SWEBOK,和IEEE/ACM软件工程学科小组公布的软件工程教育知识体系SEEK,北大本科生指定教材。注重基础知识的系统性,选材的先进性及知识的应用。2009年出版 软件开发本质的认识,两大技术问题&…

【Linux】Linux基本开发工具(yum) (vi/vim)的使用

本文章内容: 学习yum工具,进行软件安装掌握vim编辑器使用 Linux 软件包管理器 yum 什么是软件包 在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序.但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好, 做成…

一文带你详解天池工业数据集

人工智能是国家战略性新兴产业,制造业是国民经济的主体,随着人口红利的消失,加强设备自动化改造,提高生产自动化程度,减小劳动强度,改善作业环境,已经成为制造业的普遍共识。天池大赛开放出一批…