首页 > 数据库 >MySQL数据库基本操作包括MySQL过程、MySQL声明

MySQL数据库基本操作包括MySQL过程、MySQL声明

时间:2024-07-21 11:18:46浏览次数:20  
标签:NAME 数据库 MySQL stmt USER mysql 基本操作

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
    

标签:NAME,数据库,MySQL,stmt,USER,mysql,基本操作
From: https://www.cnblogs.com/solicit/p/18314269

相关文章

  • mysql常用命令总结
    连接数据库格式mysql-h连接地址-u用户-p密码-P端口例如mysql-h127.0.0.1-uroot-p123456-P3310 常用用户管理操作https://dev.mysql.com/doc/refman/8.0/en/create-user.html创建用户CREATEUSER'用户名字'@'%'IDENTIFIEDBY'密码';例如CREATEUSER'wxh......
  • 一文了解MySQL的子查询
    文章目录☃️1.需求分析与问题解决❄️❄️1.1实际问题❄️❄️1.2子查询的基本使用❄️❄️1.3子查询的分类☃️2.单行子查询❄️❄️2.1单行比较操作符❄️❄️2.2代码示例❄️❄️2.3HAVING中的子查询❄️❄️2.4注意的问题☃️3.多行子查询❄️❄️3.1多行比较操作符❄️❄️3.2代码示例☃️4.相......
  • Python/Flask mysql 游标:为什么它不起作用?
    fromflaskimportFlaskfromflask_mysqldbimportMySQLapp=Flask(__name__)app.config['MYSQL_HOST']='localhost'app.config['MYSQL_USER']='root'app.config['MYSQL_PASSWORD']='password'a......
  • 将AWS RDS MySQL实例从存储未加密改为加密的方案
    问题描述:因为AWSRDS官方文档【1】中已经明确说明,MySQLRDS的存储为EBS卷,用KMS进行RDS加密有如下限制:您只能在创建RDS的时候,选择加密。对于已经创建的RDS实例,您无法将为加密的实例,直接改为加密实例。(文档【1】中的AmazonRDS加密的数据库实例的限制部分)因此,对于一个我们已......
  • 达梦数据库的系统视图v$dmwatcher
    达梦数据库的系统视图v$dmwatcher查询当前登录实例所对应的守护进程信息,注意一个守护进程可以同时守护多个组的实例,因此查询结果中部分字段(N_GROUP、SWITCH_COUNT)为守护进程的全局信息,并不是当前登录实例自身的守护信息。在DMDSC集群环境中,只显示控制守护进程的信息。另......
  • 玄机-第二章日志分析-mysql应急响应
    文章目录前言简介应急开始准备工作日志分析步骤1步骤2步骤3步骤4总结补充erro.log前言这里应急需要知道mysql提权的一些姿势,还有能够提权成功的前提。5金币就当复习一下了。这里考察的是mysql应急响应,我们应该是根据找flag的需求去就行,但是我做了之后发现......
  • 玄机-第二章日志分析-mysql应急响应
    目录前言简介应急开始准备工作日志分析步骤1步骤2步骤3步骤4总结补充mysql中的/var/log/mysql/erro.log记录上传文件信息的原因前言这里应急需要知道mysql提权的一些姿势,还有能够提权成功的前提。5金币就当复习一下了。这里考察的是mysql应急响应,我们应该是根据找flag......
  • 我正在尝试将 Azure SQL 数据库连接到 Microsoft SQL Server Management Studio。收到
    这是完整的错误——标题:连接到服务器无法连接到adityapatil-server.database.windows.net。其他信息:建立与SQLServer的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及SQLServer是否配置为允许远程连接。(提供......
  • idea内置数据库DataGrip + 索引
    创建索引前后搜索速度差别一般是在创建表的时候创建索引,但表里又数据之后也可以创建,且索引值只需要创建一次--为数据库表tb_emp的name字段创建名为idx_emp_name的索引createindexidx_emp_nameontb_emp(name);--查询索引showindexfromtb_emp;--删除索引dropindexi......
  • MySQL数据库MHA实现
    前提:关闭所有机器的防火墙关闭selinux1、主库54从库52/53三台服务器环境mysql8.0.25配置文件:cat>/fan/etc/mysql80/my.cnf<<EOF[mysqld]server_id=54binlog_format=rowdatadir=/fan/data/mysql80/basedir=/fan/softwares/mysql80/port=3308socket=/tmp/mysql330......