数据库(mysql)-新手笔记-基本知识点(1)

基本概念

数据库 Database :存储数据的容器

表  Table  : 在数据库中存储的基本结构,它由行和列组成

行 Row : 表中的一条记录

列 Column : 表中的字段,定义了数据的类型和约束

数据类型

数据值 如 INT(整型),FLAOT(浮点型) ,DECIMAL (精确小数点)

字符串 如 VARCHAR(可变长度字符), CHAR(定长字符),TEXT(存储长文本)

日期和时间想 如 DATE(存日期),TIME(存时间)

DATETIME(存日期和时间('1000-01-01 00:00:00' 到 '9999-12-31 23:59:59'))

TIMESTAMP(计算机时间( '1970-01-01 00:00:01' UTC 到 '2038-01-19 03:14:07'))

SQL语言

DDL(数据库定义语言) 如 create(创建) alter(改变) drop(消除) 定义数据库结构

DML(数据库操作语言) 如 insert(插入) update(更新) delete(删除) 处理表中数据

DQL(数据库查询语言) 如 select 查询表中的数据

DCL(数据库控制语音) 如grant(授用户权) revoke(撤用户权)

数据库和表 属于数据结构  表中行属于数据  表中列是限制数据类型

增删改查
增(表结构的建立)

创建一个数据库

 GREATE DATABASE 

创建一个表

GRATE TABLE (字段名 字段类型,字段名 字段类型....)

CREATE DATABASE Student DEFAULT CHAR SET UTF8;//创建一个数据库
USE Student;//使用一个数据库

CREATE TABLE StudentScores(score INT ,studentName VARCHAR(8),address CHAR(10) )
//创建一个表时候要选择一个数据库

建一个表时候要填写字段名 字段类型,依此绑定一个数据表的结构
增(表结构数据插入 )

全字段插入即表结构中所有的(字段名,字段类型)

INSERT INTO 表名 [(字段名 字段类型...) ] VALUE(数据,...)

[]不写里面的(字段名 字段类型)默认全字段插入

单字段插入即表结构中某个(字段名 字段类型)

单字段数据插入 

INSERT INTO 表名 (字段名 字段类型) VALUE (数据)

多个数据同字段名同字段类型插入

INSERT INTO 表名 (字段名 字段类型...)  VALUES(数据,...) ,(数据...),(数据...)

//, 逗号为分割数据集体插入,多个数据插入时候写完(字段名 字段类型...)

// VALUES 用于多数据插入  VALUE 用于单数据插入

# 创建一个数据库
CREATE DATABASE student DEFAULT CHARSET UTF8;
# 使用一个数据库
USE student;
# 创建一个表
CREATE TABLE StudentScores(score INT ,studentName VARCHAR(8),address CHAR(10) );
# 插入多行数据(全字段)
INSERT INTO StudentScores (score ,studentName,address  ) VALUES (90,'立马24','不好意思') ,(95,'快56','不好意思' ),(95,'909','不好意思') ,(23,'看3','不好意思') ,(36,'许库908','酒精') ,(49,'许库1','不删') ;
# 插入单行数据(全字段)
INSERT INTO StudentScores (score ,studentName,address  ) VALUE (87,'人言喊着','行');
# 插入单行数据(单字段)
INSERT INTO StudentScores (score ) VALUE (21);

运行结果

改(字段名)

注意如果用于表中字段名的(增删改) 一般前面会带ALTER关键字

改字段名或者字段类型 关键字 CHANGE

字段名和字段类型全改 

ALTER  TABLE 表名  CHANGE 旧字段名 新字段名 新字段类型

改字段名

 ALTER  TABLE 表名  CHANGE 旧字段名 新字段名  旧字段类型

改字段类型(注意的是这种方式,不容易区分是否改了字段类型,

如遇到需要改字段类型,建议全改)

 ALTER  TABLE 表名  CHANGE 旧字段名 旧字段名  新字段类型

# 原表结构
CREATE TABLE StudentScores(score INT ,studentName VARCHAR(8),address CHAR(10) );
# 改全字段(字段名 字段类型)
ALTER TABLE  StudentScores CHANGE score yearScore VARCHAR(9);
# 改字段名
ALTER TABLE  StudentScores CHANGE yearScore score INT;
# 改字段类型
ALTER TABLE  StudentScores CHANGE score score VARCHAR(8);

添加字段名 关键字 ADD  默认在字段名最后添加一个新字段

ALTER TABLE 表名 ADD 字段名 字段类型 

指定添加位置

在某个字段名之后

ALTER TABLE 表名 ADD 字段名 字段类型  AFTER  字段名

在所有字段最前面

ALTER TABLE 表名 ADD 字段名 字段类型  FIRST

# 添加新字段
ALTER TABLE StudentScores ADD fathername CHAR(4) AFTER address;
# 添加新字段在address字段前
ALTER TABLE StudentScores add serial CHAR(4) FIRST ;
删(字段名) 

删字段 关键字 drop

ALTER TABLE 表名 DROP 字段名

# 删除fathername字段
ALTER TABLE StudentScores DROP fathername;

查 特定的字段名中的数据 关键 WHERE 字段名 = 数值

SELECT * FROM 表名 WHERE 字段名 = 数值 (满足当前条件时候查询全字段)

SELECT 字段名 FROM 表名 WHERE 字段名 = 数值 (满足当前条件时候查询选择的字段名)

# 查询score字段
SELECT score FROM StudentScores WHERE score=90;
# 查询全字段e字段
SELECT * FROM StudentScores WHERE score=90; 

 根据查询 可以进行 特定的删除 关键字 DELETE FROM

 DELETE FROM 表名 WHERE 字段名 = 数值 (满足当前条件时候删除数据)

# 删除满足条件的数据
DELETE FROM StudentScores WHERE score<90;

 根据查询 可以进行 设置数据 

UPDATE 表名 SET 字段名= 数值 WHERE 字段名 = 数值 (满足当前条件时候设置数据)

# 设置满足条件的数据
UPDATE StudentScores SET address='可以了' WHERE score<95;

 注意

DELETE FROM 表名 直接使用删除表数据,保留表结构(字段名),不会清理内存,属于可回退的操做

UPDATE 表名 SET 字段名=数值 直接使用会将数据中当前的字段名,全部设置相同的数据

当然如果真的不需要该表

使用 TRUNCATE 表名 ,删除表数据,保留表结构(字段名),清理内存,这个是不可回退的操作

巧学巧记

SQL 语言不关系是否用大小写,最好用大写写关键字

数据库和表 属于数据结构  表中行属于数据  表中列是限制数据类型

数据结构创建用CREATE  表的话要写字段名和字段类型

数据插入用 INSERT INTO , VALUE 是往里面带数值 多行插入数值 需用 VALUES

字段名修改前面要带ALTER  FROM 表名

修改用CHANGE 增加用ADD 删除用DROP 

查询方便进行后续的某些数据的修改和删除

修改为UPDATE 表名 SET 字段名= 数值 

删除为 DELETE FROM 表名 ,

用 WHERE 字段名 = 数值要牢记 

实在想删整体表,要多考虑,常备份可免烦恼

 
 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Redis报错NOAUTH Authentication required怎么解决?

问题描述 在使用redis-cli时&#xff0c;可能会遇到报错 (error) NOAUTH Authentication required. 问题分析 这是因为在redis的配置文件 redis.windows-service.conf 中设置了密码&#xff0c;导致了这个问题 问题解决 1. 在redis.windows-service.conf文件查看密码 2. 输…

苹果曝出两个 iOS 系统 0-Day 漏洞

最近&#xff0c;苹果公司发布了紧急安全更新&#xff0c;解决了两个 iOS 零日漏洞。这些漏洞存在于 iOS 内核&#xff08;CVE-2024-23225&#xff09;和 RTKit&#xff08;CVE-2024-23296&#xff09;中&#xff0c;威胁攻击者可利用其绕过内核内存保护&#xff0c;这就给了具…

[R] ggplot2 - exercise (“fill =“)

We have made the plots like: Lets practice with what we have learnt in: [R] How to communicate with your data? - ggplot2-CSDN博客https://blog.csdn.net/m0_74331272/article/details/136513694 #tutorial 5 -script #Exercise 1 #1.1# ggplot(smoking_and_drug_use_…

20 easy 70. 爬楼梯

//假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 // // 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢&#xff1f; // // // // 示例 1&#xff1a; // // //输入&#xff1a;n 2 //输出&#xff1a;2 //解释&#xff1a;有两种方法可以爬到楼顶。 /…

electron 架构

文章目录 Chromium 架构Electron 架构 Chromium 架构 主体架构&#xff1a;主进程 Browser&#xff0c;打开一个页面就会启动一个 Render 渲染进程&#xff0c;进程间通信就是 IPC 机制&#xff08;Inter-Process Communication&#xff09;。 主进程的 RenderProcessHost 和 R…

算法 - 【受限条件下可到达节点的数目】

受限条件下可到达节点的数目 题目示例1示例2 分析代码 题目 现有一棵由 n 个节点组成的无向树&#xff0c;节点编号从 0 到 n - 1 &#xff0c;共有 n - 1 条边。给你一个二维整数数组 edges &#xff0c;长度为 n - 1 &#xff0c;其中 edges[i] [ai, bi] 表示树中节点 ai 和…

【通信原理笔记】【一】确定信号分析——1.4 信号的功率谱与能量谱

文章目录 前言一、功率谱与能量谱1. 从频域求能量说起2. 再聊聊密度3. 单边能量谱与带宽3.1 实信号的共轭对称性3.2 单边谱与带宽 二、信号的相关函数1. 说回到时域分析 总结 前言 上一篇我们学习了信号的功率与能量&#xff0c;现在我们继续深入&#xff0c;探讨一下信号的功…

Pytorch学习 day04(Totensor、Normalize、Resize、Compose)

Totensor 把一个PIL格式的图片&#xff0c;或者ndarray格式的图片转换为tensor格式使用方法&#xff0c;如下&#xff1a; from PIL import Image from torchvision import transforms from torch.utils.tensorboard import SummaryWriterimg Image.open("images/00130…

Redis 面试题

Redis 基础 什么是 Redis&#xff1f; Redis (Remote Dictionary Server) 本质上是一个 Key-Value 类型的内存数据库&#xff0c;很像 memcached&#xff0c;整个数据库统统加载在内存当中进行操作&#xff0c;定期通过异步操作把数据库数据 flush 到硬盘上进行保存。因为是纯…

【二】【SQL Server】如何运用SQL Server中查询设计器通关数据库期末查询大题

教学管理系统201703153 教学管理系统数据库展示 成绩表展示 课程表展示 学生表展示 院系表展示 一、基本操作 设置复合主键 设置其他表的主键 设置字段取值范围 二、简单操作 第一题 第二题 第三题 第四题 结尾 最后&#xff0c;感谢您阅读我的文章&#xff0c;希望这些内容能…

RF接口测试(1)

RF是做接口测试的一个非常方便的工具&#xff0c;我们只需要写好发送报文的脚本&#xff0c;就可以灵活的对接口进行测试。 做接口测试我们需要做如下工作&#xff1a; 1、拼接发送的报文 2、发送请求的方法 3、对结果进行判断 我们先按步骤实现&#xff0c;再进行RF操作的…

降低85%的gc发生率:ES的GC调优实践!

#大数据/ES #经验 #性能 问题背景 客户方面反馈的问题是ES入库速度变慢&#xff0c;延迟升高到几百毫秒&#xff0c;导致数据积压过多&#xff0c;影响了业务。 排查发现ES的服务日志出现不少的gc overhead现象&#xff0c;下面是一个示例的日志片段&#xff1a; [yyyy-MM-…

C++单例模式、工厂模式

一、单例模式 (一) 什么是单例模式 1. 是什么&#xff1f; 在系统的整个生命周期内&#xff0c;一个类只允许存在一个实例。 2. 为什么&#xff1f; 两个原因&#xff1a; 节省资源。方便控制&#xff0c;在操作公共资源的场景时&#xff0c;避免了多个对象引起的复杂操作…

腾讯云4核8G服务器轻量和CVM可用来干什么?

腾讯云4核8G服务器适合做什么&#xff1f;搭建网站博客、企业官网、小程序、小游戏后端服务器、电商应用、云盘和图床等均可以&#xff0c;腾讯云4核8G服务器可以选择轻量应用服务器4核8G12M或云服务器CVM&#xff0c;轻量服务器和标准型CVM服务器性能是差不多的&#xff0c;轻…

android基础学习

从上面的描述就可以知道&#xff0c;每一个Activity组件都有一个对应的ViewRoot对象、View对象以及WindowManager.LayoutParams对象。这三个对象的对应关系是由WindowManagerImpl类来维护的。具体来说&#xff0c;就是由WindowManagerImpl类的成员变量mRoots、mViews和mParams所…

Linux环境下使用轮询方式操作UART

目录 概述 1 Linux环境下UART设备 2 轮询方式操作UART功能实现 2.1 打开串口函数&#xff1a;usr_serial_open 2.2 关闭串口函数&#xff1a; usr_serial_close 2.3 发送数据函数&#xff1a; usr_serial_sendbytes 2.4 接收数据函数&#xff1a; usr_serial_readbytes …

【QT C++实践】Qt 项目中一个界面动态处理多张数据库中的表|附源码

一、前言 在之前那篇讲如何使用QT连接数据库时&#xff08;QT C实践|超详细数据库的连接和增删改查操作|附源码)&#xff0c;做了一个简单的对数据库进行增删改查的界面(如下&#xff09;。 但是存在一个问题就是&#xff1a;这个界面只是对一张表进行操作&#xff0c;但是我…

探索HTTP/2

文章目录 http/1.1http/2疑惑 探索1. 连接前言2. 帧结构2.1 帧类型 Type 3. 帧详情3.1 SETTINGS 帧3.2 WINDOW_UPDATE 帧3.3 PRIORITY 帧3.4 HEADERS 帧3.5 DATA 帧3.6 PING3.7 GOAWAY 帧3.8 RST_STREAM 帧3.9 PUSH_PROMISE 帧3.10 CONTINUATION 帧 你对http2了解多少&#xff…

BUUCTF--极客大挑战php

文章目录 1.网站备份文件www.zip2.下载后发现class.phpindex.phpflag.php 3.分析php代码绕过__wakeup方法变量权限为私有或保护python方法url方法 1.网站备份文件www.zip 2.下载后发现 class.php <?php include flag.php; error_reporting(0);class Name{private $usernam…

MYSQL5.7报1205 - Lock wait timeout exceeded; try restarting transaction

简介 今天使用navicate操作添加时&#xff0c;mysql报错误&#xff0c;错误如下 原因 这个问题的原因是在mysql中产生了事务A&#xff0c;执行了修改的语句&#xff0c;比如&#xff1a; update t1 set aget18 where id1;此时事务并未进行提交&#xff0c;事务B开始运行&am…