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,一经查实,立即删除!

相关文章

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

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

python中字典相关知识点总结

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

CodeWhisperer插件

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

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

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

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

目录 一 SQL 详细介绍 (一)SQL 分类 (二) SQL 语言规范 (三)数据库对象和命名 1,数据库的组件(对象): 2,命名规则: (四) SQL…

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

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

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

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

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

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

我的自建博客之旅06之Mrdoc

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

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

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

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

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

matlab 混沌系统李雅普洛夫指数谱相图分岔图和庞加莱界面

1、内容简介 略 65-可以交流、咨询、答疑 2、内容说明 matlab 混沌系统李雅普洛夫指数谱相图分岔图和庞加莱界面 混沌系统李雅普洛夫指数谱相图分岔图和庞加莱界面 李雅普洛夫指数谱、相图、分岔图、庞加莱界面 3、仿真分析 略 4、参考论文 略

Bito插件

此文档只作用于指导性工作,更多资料请自行探索。 1、插件安装与介绍 1.1 插件下载与安装 在idea中搜索:Bito Bito is also available for:​编辑VSCode​编辑JetBrains​编辑CLI 1.2 官方介绍 插件:ChatGPT GPT-4 - Bito AI Code Assista…

双向链表、单双向链表比较、双向链表的基本操作

我要成为嵌入式高手之3月20日数据结构第三天!! ———————————————————————————— 双向链表 双向链表与单向链表的区别:双向链表中的结点的指针域包含前驱结点的地址,而单向链表的结点中指针域只有后驱结…

Q-Tester:适用于开发、生产和售后的诊断测试软件

Q-Tester.Expert是一款基于ODX(ASAM MCD-2D / ISO 22901-1)国际标准的工程诊断仪。通过此诊断仪可实现与ECU控制器之间的数据交互。这一基于ODX国际标准的解决方案,其优势在于:ODX数据库不仅可在开发部门交互,而且可在…

DML - 增删改(insert into,delete,update)

引言:对比DB / 表结构 : create , drop , alter 本次记录 数据操作 语言: 1.进入 hive 数据库,再打开 ryx1 表 2. insert select 3. update select 4. delete select

python---练习2

1、打印图案 &#xff08;1&#xff09;直角三角形 #多层循环layer int(input("请输入您要打印的层数&#xff1a; "))index 1 while index < layer : #外层循环控制层数j 1while j < index : #内层循环控制每层个数print (&qu…

C++进阶:二叉搜索树介绍、模拟实现(递归迭代两版本)及其应用

上次介绍完多态后&#xff1a;C进阶&#xff1a;详解多态&#xff08;多态、虚函数、抽象类以及虚函数原理详解&#xff09; 也是要开始继续学习了 文章目录 1.二叉搜索树1.1概念1.2二叉搜索树特性1.3 二叉搜索树的操作 2.模拟实现2.1项目文件规划2.2基本结构2.3各种接口、功能…

kafka集群介绍及搭建

介绍 kafka是一个高性能、低延迟、分布式的消息传递系统&#xff0c;特点在于实时处理数据。集群由多个成员节点broker组成&#xff0c;每个节点都可以独立处理消息传递和存储任务。 路由策略 发布消息由key、value组成&#xff0c;真正的消息是value&#xff0c;key是标识路…

【prometheus-operator】k8s监控集群外redis

1、部署exporter GitHub - oliver006/redis_exporter: Prometheus Exporter for Redis Metrics. Supports Redis 2.x, 3.x, 4.x, 5.x, 6.x, and 7.x redis_exporter-v1.57.0.linux-386.tar.gz # 解压 tar -zxvf redis_exporter-v1.57.0.linux-386.tar.gz # 启动 nohup ./redi…