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. Linux 内核:利用of_函数读取设备树结点/属性信息

    Linux 内核:利用of_函数读取设备树结点/属性信息 背景 设备树描述了设备的详细信息,这些信息包括数字类型的.字符串类型的.数组类型的,我们在编写驱动的时候需要获取到这些信息. Linux 内核 ...

  2. 手机护眼概论及OLED屏幕降低频闪原理介绍

    影响护眼的因素 蓝光 目前手机大多已经实现硬件低蓝光,而且蓝光也可以通过护眼模式轻易克服. 偏振光 偏振光指振动方向与传播方向不对称的光,主要分为圆偏振光与线偏振光两种. 线偏振光测试方法为:透过偏振 ...

  3. Python使用Argparse读取命令参数

    python编写的脚本需要通过命令参数来做一些参数配置.本文将介绍如何使用argparse来解析命令行参数.这种方法相对于sys.args的方式会简单很多. 通过以下的脚本来构建一个简单的配置解析器, ...

  4. Centos 下Rabbit MQ 常用操作指令 汇总

    1.rabbitmq 服务的启动停止. service rabbitmq-server start service rabbitmq-server stop 重启命令需要依次执行 stop 再 sta ...

  5. Spring WebFlux 简单业务代码及其Swagger文档

    上一篇文章<Spring 5 中函数式webmvc开发中的swagger文档>中讲了如何给传统MVC开发模式中的RouterFunction增加swagger文档.这一篇讲一下如何给函数式 ...

  6. CF1862G 题解

    首先这个查询操作很迷,考虑先化简查询操作. 不难发现由于每次是加上一个逆的等差序列,因此一次操作完每个数与它的前驱之差一定会减少,因此加上等差序列的次数就等于全局每个数与它的前驱之差最大值. 又因为会 ...

  7. [oeasy]python0124_Code_page_437_IBM_5150_点阵式字形码_显示器效果

    字符显示器 回忆上次内容 简体和繁体的汉字 字符数量都超级大 感谢王选和陈堃銶等前辈发明了激光照排技术 中文排版从此使用上了gb2312编码   ​   添加图片注释,不超过 140 字(可选)   ...

  8. 从Mybatis-Plus开始认识SerializedLambda

    从Mybatis-Plus开始认识SerializedLambda 背景 对于使用过Mybatis-Plus的Java开发者来说,肯定对以下代码不陌生: @TableName("t_user ...

  9. C# 自定义泛型二维数组

    public class Array2D<T>{ public int Width { get; } public int Height { get; } public T[] Data ...

  10. 移植自淘宝店家的,硬件SPI通讯3.5寸TFT,LCD屏幕。MSPM0G3507

    适用MSPM0G3507 LP开发板 3.5寸TFTLCD屏,SPI通讯 项目是CCStheia的 特点:硬件SPI,速度更快,可以在syscfg中自行修改引脚 蓝奏云: https://wwo.la ...