mysql函数

mysql脚本写入批量的数据

扶醉桌前 提交于 2020-01-24 14:59:32
这只是一个样例,可以按照这个模板进行修改生成自己需要的批量数据 1.建表 # 新建库 create database bigData; use bigData; #1 建表dept CREATE TABLE dept( id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT, deptno MEDIUMINT UNSIGNED NOT NULL DEFAULT 0, dname VARCHAR(20) NOT NULL DEFAULT "", loc VARCHAR(13) NOT NULL DEFAULT "" ) ENGINE=INNODB DEFAULT CHARSET=GBK ; #2 建表emp CREATE TABLE emp ( id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT, empno MEDIUMINT UNSIGNED NOT NULL DEFAULT 0, /*编号*/ ename VARCHAR(20) NOT NULL DEFAULT "", /*名字*/ job VARCHAR(9) NOT NULL DEFAULT "",/*工作*/ mgr MEDIUMINT UNSIGNED NOT NULL DEFAULT 0,/*上级编号*/ hiredate DATE NOT NULL,/

Linux下C连接MySql数据库

百般思念 提交于 2020-01-24 00:25:09
目录: 一、解决小的问题; 二、大问题,如果你不小心把/usr/lib的所属用户改了导致sudo命令用不了: 三、C连接MySql编程本身: 其实写这个程序真的很简单,十多分钟的事情,只是以前没在Linux下用纯C连过Mysql,想试一下,竟然搞了一整天,而且不是由于编码本身,是因为其他的一些周边问题,所以很有必要做一下笔记。 一、解决小的问题: 1、怎么自己去学着编写? C语言针对MySql函数的帮助怎么查找:这些东西在MySql提供的帮助文档里都是有的,索引是 C API 。可以自己去下载chm格式的帮助文档,个人觉得这种文档比较好用,也可以去官网自行决定下载其他类型的帮助文档: http://dev.mysql.com/doc/ ,或者在线查找: https://dev.mysql.com/doc/refman/5.1/zh/apis.html 。用高级语言编程其实就是学会使用帮助文档并付诸实践的过程。 2、在编写之前请确定自己有相关的头文件和库文件 关于这点,需要做点准备工作: 1、安装mysql: sudo apt-get install mysql-server 2、安装库文件和头文件: sudo apt-get install libmysqlclient-dev 也可以自己去官网下载对应mysql的安装包进行安装:http://dev.mysql.com

初识MySQL(4)聚集函数,分组数据,子查询

ぃ、小莉子 提交于 2020-01-23 20:13:51
1.聚集函数 聚集函数其实就是一种函数的使用方式,用来进行一些比较高级的数据操作,使用起来也比较简单,我们就先举几个例子,并对他们进行解释分析即可。 SELECT AVG ( age ) AS avg_age FROM TABLE1 ; 以上语句使用了AVG()函数来求平均值,得到的结果就是查找出表中所有年龄的平均值并且起一个新的列名为avg_age。 SELECT COUNT ( e_mail ) AS num_email FROM TABLE1 ; 以上语句使用COUNT()函数来达到计数的功能,即计算e_mail的数量,并起一个新的列名为num_email。 SELECT MAX ( price ) FROM max_price FROM TABLE1 ; 使用MAX()函数来求一个列中的最大值。MIN()函数同理求最小值。 SELECT SUM ( score ) AS sum_score FROM TABLE1 ; 使用SUM()函数进行求和操作,计算成绩的总和。 2.分组数据 我们之前学的where过滤数据与使用聚集函数得到一些更复杂的数据结论都是建立在对整张表的查询上的。但是,当我们需要统计每个公司的员工数量这种要分公司,分组来进行统计处理的操作时,我们已知的操作就显得捉襟见肘。因此我们引入了分组的概念与GROUP BY语句。 SELECT company ,

转 How to Find Out Who Is Locking a Table in MySQL

╄→尐↘猪︶ㄣ 提交于 2020-01-23 07:51:46
MySQL is adding more tools to monitor its internals with every new release, but one thing it still lacks is a way to find out who is locking what, and therefore which transactions block which other ones. This is such a vital feature that I’m considering writing my own patch to the source! Still, it is possible, to a limited extent, to find out who’s locking resources. In this article I’ll explain how you can do that. This article is the second in a series on how to use the innotop MySQL and InnoDB monitor. Introduction Here’s the situation: you are trying to update a table and every time you

mysql sql语句大全

自作多情 提交于 2020-01-23 00:56:08
1、说明:创建数据库 CREATE DATABASE database - name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建 备份数据的 device USE master EXEC sp_addumpdevice 'disk' , 'testBack' , 'c:\mssql7backup\MyNwind_1.dat' --- 开始 备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表 create table tabname(col1 type1 [ not null ] [ primary key ],col2 type2 [ not null ],..) 根据已有的表创建新表: A: create table tab_new like tab_old (使用旧表创建新表) B: create table tab_new as select col1,col2… from tab_old definition only 5、说明:删除新表 drop table tabname 6、说明:增加一个列 Alter table tabname add column col type 注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加

mysql必知必会--创建计算字段

人盡茶涼 提交于 2020-01-23 00:04:13
 计算字段 存储在数据库表中的数据一般不是应用程序所需要的格式。下面举 几个例子。 * 如果想在一个字段中既显示公司名,又显示公司的地址,但这两 个信息一般包含在不同的表列中。 * 城市、州和邮政编码存储在不同的列中(应该这样),但邮件标签 打印程序却需要把它们作为一个恰当格式的字段检索出来。 * 列数据是大小写混合的,但报表程序需要把所有数据按大写表示 出来。 * 物品订单表存储物品的价格和数量,但不需要存储每个物品的总 价格(用价格乘以数量即可)。为打印发票,需要物品的总价格。 * 需要根据表数据进行总数、平均数计算或其他计算。 在上述每个例子中,存储在表中的数据都不是应用程序所需要的。 我们需要直接从数据库中检索出转换、计算或格式化过的数据;而不是 检索出数据,然后再在客户机应用程序或报告程序中重新格式化。 这就是计算字段发挥作用的所在了。与前面各章介绍过的列不同, 计算字段并不实际存在于数据库表中。计算字段是运行时在 SELECT 语句 内创建的。 字段(field) 基本上与列(column)的意思相同,经常互换使 用,不过数据库列一般称为列,而术语字段通常用在计算字段的 连接上。 重要的是要注意到,只有数据库知道 SELECT 语句中哪些列是实际的 表列,哪些列是计算字段。从客户机(如应用程序)的角度来看,计算 字段的数据是以与其他列的数据相同的方式返回的。

MySQL Create Table创建表

穿精又带淫゛_ 提交于 2020-01-22 08:30:34
表的创建命令需要: 表的名称 字段名称 定义每个字段(类型、长度等) 语法 下面是通用的SQL语法用来创建MySQL表: CREATE TABLE table_name (column_name column_type); 现在,我们将在 test 数据库中创建以下表。 create table tutorials_tbl( tutorial_id INT NOT NULL AUTO_INCREMENT, tutorial_title VARCHAR(100) NOT NULL, tutorial_author VARCHAR(40) NOT NULL, submission_date DATE, PRIMARY KEY ( tutorial_id ) ); 在这里,一些数据项需要解释: 字段使用NOT NULL属性,是因为我们不希望这个字段的值为NULL。 因此,如果用户将尝试创建具有NULL值的记录,那么MySQL会产生错误。 字段的AUTO_INCREMENT属性告诉MySQL自动增加id字段下一个可用编号。 关键字PRIMARY KEY用于定义此列作为主键。可以使用逗号分隔多个列来定义主键。 1、通过命令提示符来创建表 在mysql>提示符下,创建一个MySQL表这是很容易的。使用 SQL 命令 CREATE TABLE 来创建表。 示例 下面是一个例子,创建一个表:

python D40 pymsql和navicat

|▌冷眼眸甩不掉的悲伤 提交于 2020-01-22 06:34:22
一 IDE工具介绍(Navicat)   生产环境还是推荐使用mysql命令行,但为了方便我们测试,可以使用IDE工具,我们使用Navicat工具,这个工具本质上就是一个socket客户端,可视化的连接mysql服务端的一个工具,并且他是图形界面版的。我们使用它和直接使用命令行的区别就类似linux和windows系统操作起来的一个区别。 二 MySQL数据备份 #1. 物理备份: 直接复制数据库文件,适用于大型数据库环境。但不能恢复到异构系统中如Windows。 #2. 逻辑备份: 备份的是建表、建库、插入等操作所执行SQL语句,适用于中小型数据库,效率相对较低。 #3. 导出表: 将表导入到文本文件中。   一、使用mysqldump实现逻辑备份 #语法: # mysqldump -h 服务器 -u用户名 -p密码 数据库名 > 备份文件.sql #示例: #单库备份 mysqldump -uroot -p123 db1 > db1.sql mysqldump -uroot -p123 db1 table1 table2 > db1-table1-table2.sql #多库备份 mysqldump -uroot -p123 --databases db1 db2 mysql db3 > db1_db2_mysql_db3.sql #备份所有库 mysqldump -uroot

问题の解决

折月煮酒 提交于 2020-01-22 01:27:30
接上篇( https://blog.csdn.net/qq_44868502/article/details/104043065 ) 任务已经完成了,明天回家没时间写博客了,先占坑,等初八回来再整理 关于解决问题的思路及方式 MySql自定义函数( https://www.cnblogs.com/w1995w/p/10606842.html ) MYSQL递归函数( https://blog.csdn.net/qq_44868502/article/details/104058503 ) JAVA遍历实现(目前是用的这种方式,效率不高) 最好的组合JAVA自定义树结构+MYSQL递归 来源: CSDN 作者: 一个谦虚的青年 链接: https://blog.csdn.net/qq_44868502/article/details/104056272

MYSQL篇 获取第二高的薪水

瘦欲@ 提交于 2020-01-21 00:24:24
题目: 编写一个 SQL 查询,获取 Employee 表中第二高的薪水(Salary) 。 +----+--------+ | Id | Salary | +----+--------+ | 1 | 100 | | 2 | 200 | | 3 | 300 | +----+--------+ 例如上述 Employee 表,SQL查询应该返回 200 作为第二高的薪水。 +---------------------+ | SecondHighestSalary | +---------------------+ | 200 | +---------------------+ 如果不存在第二高的薪水,那么查询应返回 null。 解题方法: select ifnull ( (select distinct(Salary) from Employee order by Salary desc limit 1,1 ),null ) as SecondHighestSalary; 解题点: 1、比较薪水大小时,薪水要去重; 2、order by 数值排序时,从小到大,desc 反转排序顺序; 3、分页查询,举个栗子: SELECT name FROM students ORDER BY score DESC LIMIT 3 OFFSET 0; 上述查询LIMIT 3 OFFSET 0表示