MySQL的基本操作与增删改查管理操作

news2024/11/23 16:48:56

一、MySQL数据库sql语句

1.1 sql 命令

database数据库
table
row
column
user用户
select从数据表中获取数据
updata更新数据库中的数据
delete从数据库中删除数据
insert into 向数据表插入数据
create database创建新数据库
alter database修改数据库
create table创建新表
alter table变更数据库
drop table 

                                                                删除表

 1.2 sql 规范

在数据库系统中,sql语句不区分大小写;

sql语句可单行或多行书写,以‘;’结尾;

关键词不能跨多行或简写;

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

二、管理MySQL数据库

2.1 查看数据库

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

show  databases;                 #注意以;结尾

查看数据库中包含的表

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

查看表的结构(字段)

use 数据库名;
describe [数据库名.]表名;
可缩写成:desc 表名;

查看MySQL的版本

mysql -V

2.2 数据类型

field字段名称
type数据类型
null是否允许为空
key主键
default默认值
extra扩展属性
id1 3 5 7
int整型,用于定义整数类型的数据
float单精度浮点4字节32位        准确表示到小数点后六位 
double双精度浮点8字节64位
char固定长度的字符类型        用于定义字符类型数据
varchar可变长度的字符类型
text文本
image图片
decimal(5,2)5个有效长度数字,小数点后面有2位        指定长度数组 

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

2.3 创建、删除数据库和表

创建新的数据库(create database)

#建立数据库 
create database 数据库名;
 
#建立数据库并指定字符集utf8mb4
create database 数据库名 charset=utf8mb4;

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

drop database 数据库名;

创建新的表(create table)

use 数据库名;
create table 表名 (字段1 数据类型,字段2 数据类型[,...][,primary key (主键名)]);
#主键一般选择能代表唯一性的字段不允许取空值(NULL),一个表只能有一个主键。
 
例如:
        use nj;
        create table jiangning (id int NOT NULL,name varchar(10),area decimal(8,2),passwd char(48)DEFAULT' ',PRIMARY KEY (id));
 

#NOT NULL   不允许为空值
#DEFAULT''  默认值为空

#PRIMARY KEY :主键一般选择没有重复并且不为空值的字段
desc jiangning     描述

删除指定的数据表(drop table)

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

2.4 管理表中的数据记录

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

insert into 表名(字段1,字段2[,...]) values(字段1的值,字段2的值,...);
 
例如:
insert into students(id,name,age,passwd) values(1,'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;

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

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

update 表名 set 字段名1=字段值1[,字段名2=字段值2] [where 条件表达式];
 
例如:
update students set age=19 where id=3;
update students set age=25,passwd='111111' where id=2;    #同时修改age和passwd
 

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

delete from 表名 [where 条件表达式];
 
例如:
delete from students where id=2;
 
!!!!注意id并不会顶上去!!!!

 2.5 修改名和表结构(alter  table)

 修改表名 (rename)

 alter table 旧表名 rename 新表名;
 
例如:
alter table students rename xuesheng;

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

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

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

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);

删除字段(drop)

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

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

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

相关文章

蓝桥杯 2023 省B 飞机降落

首先&#xff0c;这题要求的数据量比较少&#xff0c;我们可以考虑考虑暴力解法。 这题可能难在很多情况的考虑&#xff0c;比如说&#xff1a; 现在时间是10&#xff0c;有个飞机20才到&#xff0c;我们是可以干等10分钟。 #include <iostream> #include <…

【机器学习300问】39、高斯分布模型如何实现异常检测?

一、异常检测是什么&#xff1f; &#xff08;1&#xff09;举几个例子 ① 信用卡交易异常检测 在信用卡交易数据分析中&#xff0c;如果某个用户的消费习惯通常是小额且本地化消费&#xff0c;那么突然出现一笔大额且跨国的交易就可能被标记为异常。 ② 电机温度异常检测 在电…

echart trigger 为 axis 的时候不显示 tooltip 解决办法

echart trigger 为 axis 的时候不显示 tooltip 解决办法 在项目 vitetsvue3 中使用 echart 显示了一个曲线图&#xff1a; 但当把图表的 trigger 设置成 axis 的时候&#xff0c;鼠标扫过并不显示具体的数值&#xff0c;如上图所示。 但 trigger item 的时候是正常的。 解决…

Docker Desktop 安装 ClickHouse 超级简单教程

Docker desktop 安装 clickhouse 超级简单 文章目录 Docker desktop 安装 clickhouse 超级简单 什么是 Docker &#xff1f;安装下准备安装Docker配置安装 ClickHouse配置数据库密码DBeaver 测试创建表总结 什么是 Docker &#xff1f; 下载 Docker desktop Docker Desktop …

[蓝桥杯 2015 省 B] 生命之树

水一水的入门树形DP #include<iostream> #include<algorithm> #include<vector> using namespace std; using ll long long; #define int long long const int N 2e610; const int inf 0x3f3f3f3f; const int mod 1e97;int n; int w[N]; vector<vecto…

Node.js快速入门:搭建基础Web服务器与实现CRUD及登录功能

&#x1f31f; 前言 欢迎来到我的技术小宇宙&#xff01;&#x1f30c; 这里不仅是我记录技术点滴的后花园&#xff0c;也是我分享学习心得和项目经验的乐园。&#x1f4da; 无论你是技术小白还是资深大牛&#xff0c;这里总有一些内容能触动你的好奇心。&#x1f50d; &#x…

Word2vec 学习笔记

word2vec 学习笔记 0. 引言1. Word2vec 简介1-1. CBOW1-2. SG 2. 实战 0. 引言 最近研究向量检索&#xff0c;看到有同事使用 MeCab、Doc2Vec&#xff0c;所以把 Word2vec 这块知识学习一下。 1. Word2vec 简介 Word2vec 即 word to vector&#xff0c;顾名思义&#xff0c;…

在MongoDB建模1对N关系的基本方法

“我在 SQL 和规范化数据库方面拥有丰富的经验&#xff0c;但我只是 MongoDB 的初学者。如何建立一对 N 关系模型&#xff1f;” 这是我从参加 MongoDB 分享日活动的用户那里得到的最常见问题之一。 我对这个问题没有简短的答案&#xff0c;因为方法不只有一种&#xff0c;还有…

HarmonyOS(鸿蒙)ArkUI组件

方舟开发框架&#xff08;简称ArkUI&#xff09;为HarmonyOS应用的UI开发提供了完整的基础设施&#xff0c;包括简洁的UI语法、丰富的UI功能&#xff08;组件、布局、动画以及交互事件&#xff09;&#xff0c;以及实时界面预览工具等&#xff0c;可以支持开发者进行可视化界面…

风速预测(八)VMD-CNN-Transformer预测模型

往期精彩内容&#xff1a; 时序预测&#xff1a;LSTM、ARIMA、Holt-Winters、SARIMA模型的分析与比较-CSDN博客 风速预测&#xff08;一&#xff09;数据集介绍和预处理-CSDN博客 风速预测&#xff08;二&#xff09;基于Pytorch的EMD-LSTM模型-CSDN博客 风速预测&#xff…

负数,小数转换二进制

负数转换二进制 例&#xff1a;在带符号整数signed char的情况下&#xff0c;-57如何被表示成负数呢&#xff1f;在计算机中又是如何计算66-57呢&#xff1f; 解析 考虑int占有32位太长&#xff0c;因此使用只占8位的signed char类型来举例。57用二进制表示位00111001&#…

【Mysql数据库基础04】连接查询、内连接、外连接

Mysql数据库基础04 0 该博客所要用的数据库表的属性1 SQL92 内连接1.1 等值连接1.1.1 两个表的顺序可以调换1.1.2 加筛选1.1.3 加分组1.1.4 加排序1.1.5 三表连接 1.2 非等值连接1.3 自连接 2 SQL99 内连接2.1 等值连接2.2 非等值连接2.3 自连接 3 外连接3.1 左外和右外连接 4 …

大模型主流微调训练方法总结 LoRA、Adapter、Prefix-tuning、P-tuning、Prompt-tuning 并训练自己的数据集

大模型主流微调训练方法总结 LoRA、Adapter、Prefix-tuning、P-tuning、Prompt-tuning 概述 大模型微调(finetuning)以适应特定任务是一个复杂且计算密集型的过程。本文训练测试主要是基于主流的的微调方法:LoRA、Adapter、Prefix-tuning、P-tuning和Prompt-tuning,并对…

网络原理(3)——TCP协议

目录 一、连接管理 二、三次握手 1、何为三次握手&#xff1f; 2、三次握手有何意义&#xff1f; 三、四次挥手 三次握手和四次挥手的相似之处和不同之处 &#xff08;1&#xff09;相似之处 &#xff08;2&#xff09;不同之处 四、TCP的状态 建立连接&#xff1a; 断开…

Matlab中inv()函数的使用

在Matlab中&#xff0c;inv()函数是用来求解矩阵的逆矩阵的函数。逆矩阵是一个与原矩阵相乘后得到单位矩阵的矩阵。在数学中&#xff0c;矩阵A的逆矩阵通常用A^-1表示。 什么是逆矩阵 在数学中&#xff0c;对于一个n阶方阵A&#xff0c;如果存在一个n阶方阵B&#xff0c;使得…

华为综合案例-普通WLAN全覆盖配置(1)

适用范围和业务需求 适用范围 本案例适用于大多数场景&#xff0c;如办公室、普通教室、会议室等普通非高密场景。 业务需求 主要业务需求如下&#xff1a; 接入需求 随时、随地无线业务接入。无线覆盖需要做到覆盖均匀、无盲区。 无线漫游需求 多层网络、快速切换、网络…

P1143 进制转换题解

题目 请你编一程序实现两种不同进制之间的数据转换。 输入输出格式 输入格式 共三行&#xff0c;第一行是一个正整数&#xff0c;表示需要转换的数的进制n (2≤n≤16)&#xff0c;第二行是一个n进制数&#xff0c;若n>10则用大写字母A∼F表示数码10∼15&#xff0c;并且…

使用 GTSAM 进行曲线拟合的示例

GTSAM介绍 GTSAM(通用因子图优化库)是一种用于状态估计和传感器数据融合的开源C++库。它提供了强大的工具,用于在机器人和自主系统领域进行感知、决策和控制。 功能和特点 状态估计与优化: GTSAM 提供了灵活且高效的状态估计框架,能够处理从传感器获取的数据,并…

接口测试系列 —— 转转交易业务场景接口测试实践

01 Why接口测试 一、提高效率 关键词&#xff1a;QA 职责保质保量的完成需求测试工作在保证质量的前提下提高效率&#xff0c;要保证质量&#xff0c;首先需要先弄清楚这次需求的测试范围&#xff0c;针对性的使用不同的测试方法&#xff0c;而接口测试就是其中的一种&#x…

JMeter 并发测试和持续性压测详解

并发测试和持续性压测都是评估系统性能的常用方法&#xff0c;它们可以帮助开发人员发现并解决系统中的性能问题。本文来详细介绍下。 概念 并发测试&#xff1a; 旨在评估系统在同时处理多个用户请求时的性能。在这种 测试 中&#xff0c;系统会暴露于一定数量的用户负载下&…