MySQL数据库

操纵数据库

查看数据库

show databases;

创建数据库

create database <database_name>;

删除数据库

drop database <database_name>;

使用数据库

use mysql

操纵数据表

查看数据表

show tables;

创建数据表

CREATE TABLE TBL_USER ( # 创建user,table
U_ID INT PRIMARY KEY AUTO_INCREMENT,
U_NAME VARCHAR(32),
U_GENDER VARCHAR(8)
);

删除数据表

DROP TABLE TBL_USER;

ALTER更改表操作

ALTER TABLE TBL_USER ADD COLUMN U_IMAGE BLOB AFTER U_NAME; # 在U_NAME后加新列

SELECT查询操作

select * from <table>;

INSERT插入操作

INSERT TBL_USER(U_NAME, U_GENDER) VALUES ("Lem", "male");

DELETE删除操作

DELETE FROM TBL_USER WHERE U_NAME = 'Lem'; // 这种操作不安全,如果有多个名字

可以通过设置安全模式关闭进行删除

SET SQL_SAFE_UPDATES = 0; // 关闭安全模式
DELETE FROM TBL_USER WHERE U_NAME = 'Lem'
SET SQL_SAFE_UPDATES = 1; // 开启安全模式

如何以一条语句进行删除:事务和存储过程结合,存储过程一次编译,永久存储

DELIMITER**
BEGIN
CREATE PROCEDURE PROC_DELETE_USER(IN UNAME VARCHAR(32))
# PROCEDURE BODY
SET SQL_SAFE_UPDATES = 0;
DELETE FROM TBL_USER WHERE U_NAME = UNAME;
SET SQL_SAFE_UPDATES = 1; END** CALL PRO_DELETE_USER('Lee');

UPDATE更新操作

UPDATE TBL_USER SET U_GENDER = 'male' WHERE U_NAME = 'Lem';

数据库建模

建模即是创建数据库,创建表,其它删除,添加操作放到代码里。

MySQL事务

MySQL存储过程

MySQL可以理解为一组特定的语句集合,存储在数据库中,一次编译,永久存在。先创建程序然后通过CALL调用语句。

基本语法:

DELIMITER **
CREATE PROCEDURE <PROCEDURE_NAME>(IN <COLUMN> <DATA_TYE>)
BEGIN
SET SQL_SAFE_UPDATES = 0;
DELETE FROM <TABLE_NAME> WHERE <COLUMN> = <VALUE>;
SET SQL_SAFE_UPDATES = 1;
END** CALL <PROCEDURE_NAME>(VALUE);

MySQL声明(statement)通过C语言调用

statement可以在一定时间内多次执行处理数据,而且只会在开头解析一次查询语句,而不使用statement直接执行的话会发生多次查询,一般用于传输大文件。每次都是缓冲区先发到管道,然后取结果也是从管道取到结果缓冲区中。

基本语法

  1. 发送数据
mysql_stmt_init(); // 初始化sql连接
mysql_stmt_prepare(); // 使用sql预备语句
mysql_stmt_bind_param(); //绑定发送缓冲区
mysql_stmt_send_long_data(); // 通过块发送数据
mysql_stmt_execute(); // 执行发送
mysql_stmt_close(); // 释放statement
  1. 获取数据

    mysql_stmt_init(); // 初始化sql连接
    mysql_stmt_prepare(); // 使用sql预备语句
    mysql_stmt_bind_param(); //绑定结果缓冲区
    mysql_stmt_execute(); // 执行发送
    mysql_stmt_store_result(); // 存结果到结果集合中
    mysql_stmt_fectch(); // 取结果
    mysql_stmt_fectch_column; // 取列进行输出即可
    mysql_stmt_close(); // 释放statement

MySQL数据库基本操作包括MySQL过程、MySQL声明的更多相关文章

  1. MySQL数据库主从同步实战过程

       Linux系统MySQL数据库主从同步实战过程 安装环境说明 系统环境: [root@~]# cat /etc/redhat-release CentOS release 6.5 (Final) ...

  2. MySql数据库GROUP BY使用过程中的那些坑

    MySql数据库GROUP BY使用过程中的那些坑 GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组. 特别注意: group by 有一个原则,就是 select 后面的所有 ...

  3. mysql数据库基本操作以及获取数据库强大帮助文档

    MySQL数据库强大帮助文档 mysql 中help等价于\h或者? mysql> ? create database;(查看创建数据库的语法) mysql> ? drop databas ...

  4. 重新学习MySQL数据库1:无废话MySQL入门

    重新学习Mysql数据库1:无废话MySQL入门 开始使用 我下面所有的SQL语句是基于MySQL 5.6+运行. MySQL 为关系型数据库(Relational Database Manageme ...

  5. MYSQL数据库自动本地/异地双备份/MYSQL增量备份

    构建高安全电子商务网站之(网站文件及数据库自动本地/异地双备份)架构图 继续介绍Linux服务器文件备份,数据库备份,数据安全存储相关的电子商务系统架构.针对安全性有多种多样的解决方案,其中数据备份是 ...

  6. Python进阶----pymysql的安装与使用,mysql数据库的备份和恢复,mysql的事务和锁

    Python进阶----pymysql的安装与使用,mysql数据库的备份和恢复,mysql的事务和锁 一丶安装 pip install PyMySQL 二丶pymysql连接数据库 ### 语法: ...

  7. mysql数据库优化课程---18、mysql服务器优化

    mysql数据库优化课程---18.mysql服务器优化 一.总结 一句话总结: 1.四种字符集问题:字符集都设置为utf-82.slow log慢查询日志问题3.root密码丢失 1.mysql存在 ...

  8. mysql数据库优化课程---17、mysql索引优化

    mysql数据库优化课程---17.mysql索引优化 一.总结 一句话总结:一些字段可能会使索引失效,比如like,or等 1.check表监测的使用场景是什么? 视图 视图建立在两个表上, 删除了 ...

  9. mysql数据库优化课程---16、mysql慢查询和优化表空间

    mysql数据库优化课程---16.mysql慢查询和优化表空间 一.总结 一句话总结: a.慢查询的话找到存储慢查询的那个日志文件 b.优化表空间的话可以用optimize table sales; ...

  10. mysql数据库优化课程---15、mysql优化步骤

    mysql数据库优化课程---15.mysql优化步骤 一.总结 一句话总结:索引优化最立竿见影 1.mysql中最常用最立竿见影的优化是什么? 索引优化 索引优化,不然有多少行要扫描多少次,1亿行大 ...

随机推荐

  1. Debezium-Flink-Hudi:实时流式CDC

    1. 什么是Debezium Debezium是一个开源的分布式平台,用于捕捉变化数据(change data capture)的场景.它可以捕捉数据库中的事件变化(例如表的增.删.改等),并将其转为 ...

  2. SPI 协议学习

    SPI 协议学习 背景 2年之前学过SPI,但是因为现在太久没用.基础知识不牢靠(对自己的面试表现不满意):所以重新整理了一遍. SPI接口的一个缺点:没有指定的流控制,没有应答机制确认是否接收到数据 ...

  3. aach64架构 ubuntu20 桌面版 编译安装ffmpeg难点总结

    [编译安装x264] 这一步基本上没有难点 git clone https://gitee.com/mirrors/x264.git ./configure --enable-shared --ena ...

  4. Java报表开发工具总结

    Java报表工具,首先可以分成两大类:纯Java报表工具,和支持Java的报表工具. 支持Java的报表工具 支持Java的报表工具.其实就是非Java的报表工具,但是可以在Java程序中调用,这样的 ...

  5. C# 判断字符串是否为整数

    /// <summary> /// 判断一个字符串是否是正整数 /// </summary> /// <param name="s"></ ...

  6. Java-JDBC的对象DriverManager,Connection,ResultSet,PreparedStatement,工具类:JDBCUTILS,JDBC控制事务

    1. 概念 Java DataBase Connectivity Java 数据库连接 Java语言操作数据库 JDBC本质:其实是官方(sun)公司的一套操作所有关系型数据库的规则,即接口.各个数据 ...

  7. VirtualBox中Ubuntu 22.04 Server支持kvm

    kvm简介 KVM 是 Kernel-based Virtual Machine 的缩写,是一种用于虚拟化的开源硬件虚拟化技术. 使用 Linux 内核的虚拟化模块,将物理服务器划分为多个虚拟机. K ...

  8. 解决方案 | 笔记本电脑能连上WIFI,但是无Internet显示地球图标,怎么回事?(win10)

    一.背景 任务栏托盘区显示地球图标,但是实际上可以上网. 疑难诊断一般是这种情况: 二.可能的有效解决方案 0 方案0:使用360断网急救箱傻瓜式修复 个人制作 | 360断网急救箱新版-2.0版单文 ...

  9. JS原生实现html转pdf / html转图片 (html2canvas.js + jspdf.js )

    <button onclick="HtmlToPdf()"> 转储pdf </button> <button onclick="HtmlTo ...

  10. <script> 和 <script setup> 的一些主要差别

    <script setup> 是 Vue 3 中的新特性,它是一种简化和更具声明性的语法,用于编写组件的逻辑部分.相比之下,<script> 是 Vue 2 中常用的编写组件逻 ...