MySQL数据库基本操作和管理

目录

一.MySQL数据库基本操作

1.SQL分类

(1)数据库:database

(2)表:table,行:row 列:column

(3)索引:index

(4)视图:view

(5)存储过程:procedure

(6)存储函数:function

(7)触发器:trigger

(8)事件调度器:event scheduler,任务计划

(9)用户:user

(10)权限:privilege

2.SQL语句分类

3.查看帮助信息

4.查看、修改字符集

二.管理MySQL数据库

1.查看数据库结构

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

(2)查看数据库中包含的表

(3)查看表的结构

2.数据类型

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

(1)创建新的数据库

(2)删除指定的数据库

(3)创建新的表

(4)删除指定的数据表

4.管理表中的数据记录

(1)向数据表中插入新的数据记录(insert into)

(2)查询数据表内数据记录(select)

(3)修改、更新数据表中的数据记录(update)

(4)在数据表中删除指定的数据记录

5.修改表明和表结构(alter table)

(1)修改表名(rename)

(2)扩展表结构,增加字段(add)

(3)修改字段名,添加唯一键(change)

(4)删除字段(drop)

6.查看、修改字符集(show)

(1)查看MySQL支持所有的字符集

(2)查看数据库字符集

(3)查看数据表字符集

(4)修改数据库字符集


一.MySQL数据库基本操作

1.SQL分类

(1)数据库:database
(2)表:table,行:row 列:column
(3)索引:index
(4)视图:view
(5)存储过程:procedure
(6)存储函数:function
(7)触发器:trigger
(8)事件调度器:event scheduler,任务计划
(9)用户:user
(10)权限:privilege

2.SQL语句分类

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

SQL语句分类:

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

3.查看帮助信息

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

4.查看、修改字符集

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

二.管理MySQL数据库

1.查看数据库结构

(1)查看当前服务器中的数据库
show databases;					#大小写不区分,分号“;”表示结束

(2)查看数据库中包含的表
方法一:在库中查看表
use mysql;             #use 数据库名
show tables;           #查看表法二 :在库外查看表
show tables from mysql;    #show tables from 数据库名

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

2.数据类型

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

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

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

(2)删除指定的数据库
drop database 数据库名;

(3)创建新的表
use 数据库名;
create table 表名 (字段1 数据类型,字段2 数据类型[,...][,primary key (主键名)]);
#主键一般选择能代表唯一性的字段不允许取空值(NULL),一个表只能有一个主键。例如:
use kk;
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

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

4.管理表中的数据记录

(1)向数据表中插入新的数据记录(insert into)
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));

此处添加数据为中文,注意字符集(默认为拉丁文)是否更改为utf8和utf8mb4

如果/etc/my.cnf没有更改,建立数据库时要指定字符集utf8mb4:
create database 数据库名 charset=utf8mb4;

(2)查询数据表内数据记录(select)
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;

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

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

5.修改表明和表结构(alter table)

(1)修改表名(rename)
alter table 旧表名 rename 新表名;例如:
alter table students rename xuesheng;

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

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

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

6.查看、修改字符集(show)

(1)查看MySQL支持所有的字符集
show charset;

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

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

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

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

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

相关文章

Resilience4j原理及应用:构建高可用性系统的熔断、限流与容错机制(一)

本系列文章简介: 在本系列文章中,我们将深入探讨Resilience4j的原理及应用,包括熔断器、限流器和容错策略的工作原理、配置方法以及最佳实践。通过学习和掌握Resilience4j的使用技巧,我们将能够更好地构建高可用性系统&#xff0c…

Linux网络编程: TCP协议首部与可选项简述

一、TCP/IP五层模型 物理层(Physical Layer):物理层是最底层,负责传输比特流(bitstream)以及物理介质的传输方式。它定义了如何在物理媒介上传输原始的比特流,例如通过电缆、光纤或无线传输等。…

python中字典相关知识点总结

1.字典的定义 字典:在Python中,字典是一系列键-值对。每个键都与一个值相关联,程序员可以通过键来访问与之相关联的值。 实际举例: student{name:xincun,age:18} 通过实例我们可以发现,键-值对是两个相关联的值。指…

如何实现数据库的主从复制?

如何实现数据库的主从复制? 数据库的主从复制是实现数据备份、负载均衡和故障恢复的重要策略。它涉及一个主数据库(Master)和一个或多个从数据库(Slave),主数据库负责处理写入操作,而从数据库则…

代码随想录算法训练营第二十九天|491.递增子序列、46.全排列、47.全排列 II

文档讲解&#xff1a;491.递增子序列、46.全排列、47.全排列 II 题目链接&#xff1a;491.递增子序列、46.全排列、47.全排列 II 491.递增子序列 class Solution {List<List<Integer>> res new ArrayList<>();List<Integer> path new ArrayList<…

CodeWhisperer插件

一、前言 产品官网地址&#xff1a;What is CodeWhisperer? - CodeWhisperer Amazon CodeWhisperer 是一个通用的、由机器学习驱动的代码生成器&#xff0c;可实时为您提供代码建议。在您编写代码时&#xff0c;CodeWhisperer 会根据您现有的代码和注释自动生成建议。您的个…

JAVA 100道题(6)

6.创建一个表示矩形的类&#xff0c;包括宽度和高度属性&#xff0c;以及计算面积和周长的方法。 下面是一个简单的Python类&#xff0c;表示矩形&#xff0c;包含宽度和高度属性&#xff0c;以及计算面积和周长的方法&#xff1a; python复制代码 class Rectangle: def __ini…

机器人路径规划:基于斑翠鸟优化算法(Pied Kingfisher Optimizer ,PKO)的机器人路径规划(提供MATLAB代码)

一、机器人路径规划介绍 移动机器人&#xff08;Mobile robot&#xff0c;MR&#xff09;的路径规划是 移动机器人研究的重要分支之&#xff0c;是对其进行控制的基础。根据环境信息的已知程度不同&#xff0c;路径规划分为基于环境信息已知的全局路径规划和基于环境信息未知或…

【随笔馆001-安住当下是最高的人生智慧】

&#x1f332;今天我去另外一个地方参加会议&#xff0c;结束后叫了一个滴滴&#xff0c;结果司机走错了路害我等了好久。我开始有点不悦&#xff0c;突然听到马路对面有一个人在弹萨克斯。我想与其在这里焦躁地等司机&#xff0c;还不如静下心来好好欣赏音乐。就这样&#xff…

【ROS】解决编译含有Python的ROS包遇到的 “Could NOT find PY_em (missing: PY_EM)“ 问题

使用ROS编译含有Python的ROS包时会遇到 “Could NOT find PY_em (missing: PY_EM)” 的错误。这个问题通常是由于ROS找不到正确的Python解释器而导致的。解决方法&#xff1a;通过指定正确的Python解释器路径来解决这个问题。Ubuntu系统的Python解释器通常位于 /usr/bin/python…

日期问题总结

做日期问题,首先把模版写下来,再根据具体情况具体分析,基本上考试考到日期问题都是模拟和枚举,数据量也不会太大,所以我们根据题目要求直接打暴力就可以过. 模板&#xff1a; const int months[]{//平年天数 0,31,28,31,30,31,30,31,31,30,31,30,31 }; int is_leap(int y){//…

小项目知识点

0.vue运行自启动 "dev": "vite --open" //package.json 1.Element-plus 安装element-plus pnpm i element-plus 如何使用&#xff1f; <el-button :icon"Plus">按钮</el-button> <script setup langts> import { Plus …

mysql 数据库 增删改查 基本操作

目录 一 SQL 详细介绍 &#xff08;一&#xff09;SQL 分类 &#xff08;二&#xff09; SQL 语言规范 &#xff08;三&#xff09;数据库对象和命名 1&#xff0c;数据库的组件(对象)&#xff1a; 2&#xff0c;命名规则&#xff1a; &#xff08;四&#xff09; SQL…

【Rust】——panic!和不可恢复的错误

&#x1f383;个人专栏&#xff1a; &#x1f42c; 算法设计与分析&#xff1a;算法设计与分析_IT闫的博客-CSDN博客 &#x1f433;Java基础&#xff1a;Java基础_IT闫的博客-CSDN博客 &#x1f40b;c语言&#xff1a;c语言_IT闫的博客-CSDN博客 &#x1f41f;MySQL&#xff1a…

使用Python查找字符串中包含的多个元素

目录 一、引言 二、基本字符串操作 使用in关键字查找子字符串 使用循环和条件判断查找多个子字符串 三、使用正则表达式进行高级搜索 导入re模块 使用re.search()查找单个模式 使用re.findall()查找多个模式 四、案例与代码 五、优化与扩展 六、总结 一、引言 在Py…

【5G NB-IoT NTN】3GPP R17 NB-IoT NTN介绍

博主未授权任何人或组织机构转载博主任何原创文章&#xff0c;感谢各位对原创的支持&#xff01; 博主链接 本人就职于国际知名终端厂商&#xff0c;负责modem芯片研发。 在5G早期负责终端数据业务层、核心网相关的开发工作&#xff0c;目前牵头6G算力网络技术标准研究。 博客…

20万买新能源,除了烂大街的车,还可以选“精而美”

美”文 | AUTO芯球 作者 | 雷歌 “旧车撞了&#xff0c;准备买新车”。 前几天老家一个同学发来消息&#xff0c;春节他追尾了别人的车&#xff0c;不光赔了钱&#xff0c;还把自己的车车头撞废了&#xff0c;修好得一大笔钱&#xff0c;他干脆当废铁1万块钱卖给二手车商了。…

我的自建博客之旅06之Mrdoc

这个是我折腾笔记项目的最后一篇文章了,这个项目是类似于语雀的文档笔记项目,因为我当初想找一个既可以当做笔记,又可以作为团队文档分享的笔记,除了语雀,就发现了这个项目。 这个开源项目的界面或者文档组织方式其实是我最喜欢的,但是我后来放弃它的原因是它的后台编辑逻…

React Native:跨平台移动应用开发的利器

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

nginx学习记录-目录结构及基本配置

1. nginx目录结构 执行tree命令就可以看到nginx的目录结构了&#xff0c;主要有4个&#xff0c;分别是配置目录conf&#xff0c;还有界面目录html&#xff0c;日志目录logs以及程序sbin/nginx。 2. nignx基本配置 nginx的主要配置文件为/usr/local/nginx/conf/nginx.conf&…