mysql函数

Leetcode 之 Mysql(day01)

你说的曾经没有我的故事 提交于 2019-12-02 11:56:11
  大四已经接近一半了,下学期就要准备找工作实习了。为了自己能找到一份比较满意的实习,今天开始要刷一下题目。今天就刷 MySQL 语言。以下就是我今天刷的题目。大家也可以去 leetcode 注册一个账号来刷一下题目。里面有很多的算法题。 第一题:编写一个 SQL 查询,满足条件:无论 person 是否有地址信息,都需要基于上述两表提供 person 的以下信息:FirstName, LastName, City, State 表1: Person +-------------+---------+ | 列名 | 类型 | +-------------+---------+ | PersonId | int | | FirstName | varchar | | LastName | varchar | +-------------+---------+ PersonId 是上表主键 表2: Address +-------------+---------+ | 列名 | 类型 | +-------------+---------+ | AddressId | int | | PersonId | int | | City | varchar | | State | varchar | +-------------+---------+ AddressId 是上表主键

Mysqli面向过程连接

萝らか妹 提交于 2019-12-02 11:40:52
Myslqi扩展 连接数据库模板 <?php /* Connect to a MySQL server 连接数据库服务器 */ $link = mysqli_connect( 'localhost', /* The host to connect to 连接MySQL地址 */ 'jian', /* The user to connect as 连接MySQL用户名 */ '123456', /* The password to use 连接MySQL密码 */ 'jian'); /* The default database to query 连接数据库名称*/ ) if (!$link) { printf("Can't connect to MySQL Server. Errorcode: %s ", mysqli_connect_error()); exit; }else echo '数据库连接上了!'; /* Close the connection 关闭连接*/ mysqli_close($link); ?> 数据库连接的天龙八步: 1、连接数据库 连接:mysqli_connect 2、成功与否判断 连接错误号:mysqli_connect_errno 连接错误信息:mysqli_connect_error 3、选择数据库 选择库:mysqli_select_db

MySQL的sleep函数的特殊特现象

删除回忆录丶 提交于 2019-12-02 10:59:41
MySQL中的系统函数sleep,实际应用的场景不多,一般用来做实验测试,昨天在测试的时候,意外发现sleep函数的一个特殊现象。如果在查询语句中使用sleep函数,那么休眠的时间跟返回的记录有关。如下测试所示: mysql> create table test(id int); Query OK, 0 rows affected (0.03 sec) mysql> select *, sleep(6) from test; Empty set (0.00 sec) mysql> insert into test values(1); Query OK, 1 row affected (0.00 sec) mysql> select * ,sleep(6) from test; +------+----------+ | id | sleep(6) | +------+----------+ | 1 | 0 | +------+----------+ 1 row in set (6.00 sec) mysql> insert into test value(2); Query OK, 1 row affected (0.01 sec) mysql> select * ,sleep(6) from test; +------+----------+ | id | sleep(6) |

C语言 Mysql API 的调用(二)mysql_fetch_row( )

北慕城南 提交于 2019-12-02 10:52:39
目录 一、思路 二、调用函数 三、例子 一、思路 要操作mysql数据库的话首先要连接已经建立的database,然后选择table,通过 mysql_store_result( ) 把 table 的内容选出来放到句柄,通过 mysql_num_fields( ) 统计 table 的字段,通过 mysql_fetch_field( ) 获得字段,最后通过 mysql_fetch_row( ) 获得每一行的内容并打印。 二、调用函数 其他调用的函数请看 《C语言 Mysql API 的调用(一)》 https://blog.csdn.net/qq_25908839/article/details/102742697 mysql_fetch_row() MYSQL_ROW (STDCALL *mysql_fetch_row)(MYSQL_RES *result); typedef char** MYSQL_ROW; 三、例子 说明:当 mysql_fetch_row( ) 执行后返回一个二级指针,也可以理解为指针字符串数组,此函数执行完后会返回下一个字符串数组的地址,如果下一个字符串数组地址不存在,则返回NULL。 如下就是 adminInfo 表 MariaDB [library]> select * from adminInfo; +------+--------+------

mysql-自定义函数

↘锁芯ラ 提交于 2019-12-02 09:19:32
mysql-自定义函数 自定义函数的创建 # returns type: 返回值的类型 # routine_body: sql代码的内容, 可以使用begin...end标志sql代码的开始和结束 create function sp_name ( [ 参数 ] ) returns type routine_body #例1 查询某雇员的姓名 create function name_emp ( eno int ) returns varchar ( 20 ) begin return ( select empname from emp where empno = eno ) ; end ; #例2 函数没有参数 create function age_emp ( ) returns int begin return ( select empage from emp where empno = 1 ) ; end ; #若创建时报错 1418 - This function has none of DETERMINISTIC , NO SQL , or READS SQL DATA in its declaration and binary logging is enabled ( you * might * want to use the less safe log_bin

MySQL 主从库配置参数详解

自作多情 提交于 2019-12-02 08:58:43
#master 配置参数 server_id 复制中唯一标示 log-bin binlog日志路径 log-bin-index binlog 日志索引文件 binlog_format binlog格式, Statement ,ROW MIXED max_binlog_size binlog日志文件大小 默认大小1G sync_binlog 多少个SQL以后调用fdatasync()函数刷新binlog to disk #fsync 是完全刷新到磁盘,fdatasync 只刷新数据,不刷新metadata expire_logs_days binlog 保留多少天 log_bin_trust_function_creators 开启binlog 时,是否允许创建存储程序(除非有super权限,或者指定deterministic reads sql data,no sql) auto_increment_increment #在数字表列auto_increment 每次增长的步长和幅度 auto_increment_offset # 在数字表列auto_increment 起始位置 binlog-do-db binlog记录的数据库 binlog-ignore-db binlog 不记录的数据库 log_bin_trust_function_creators 开启binlog

MySQL-------存储过程与存储函数(3)

限于喜欢 提交于 2019-12-02 08:43:44
10.2.1 调用存储过程 存储过程必须使用CALL语句来调用。如果要调用其它数据库的存储过程,需要指定数据库名称。例如 CALL dbname.spname DROP TABLE IF EXISTS t_student; CREATE TABLE t_student ( id INT(11) PRIMARY KEY AUTO_INCREMENT, name VARCHAR(255) NOT NULL, age INT(11), address VARCHAR(255), sex CHAR(2) ); INSERT INTO t_student VALUES(NULL,'大宇',22,'苏州','男'); INSERT INTO t_student VALUES(NULL,'小宇',20,'盐城','男'); INSERT INTO t_student VALUES(NULL,'小雨',20,'盐城','女'); DELIMITER // --存储过程分隔符设定为// CREATE PROCEDURE CountStu(IN stu_sex CHAR,OUT num INT) --stu_sex表示输入,num表示输出 BEGIN SELECT COUNT(*) INTO num FROM t_student WHERE sex = stu_sex; --结果存入num

MySQL-------存储过程与存储函数(4)

|▌冷眼眸甩不掉的悲伤 提交于 2019-12-02 08:43:24
存储过程与存储函数的补充 MySQL的存储过程与存储函数有什么区别? 存储函数只能通过return语句返回单个值或者表对象。 存储过程不能用return,但是可以使用多个out参数返回多个值。 存储过程如何修改代码? 虽然提供了ALTER PROCEDURE sp_name [存储特性],但是只能修改存储过程的存储特性,不能修改SQL。需要删除并重新创建。 存储过程中能调用其它存储过程吗? 可以在存储过程中的SQL中通过CALL调用其它存储过程,但是不能用DROP删除其它存储过程。 IN、OUT等参数与字段名相同了怎么办? 需要将它们区别开来,否则将会出现错误。 存储过程的IN参数可能是中文怎么办? 在定义存储过程的时候,加上character set gbk。 DELIMITER // CREATE PROCEDURE getAddressByName(IN u_name VARCHAR(50) character set gbk , OUT address VARCHAR(50)) BEGIN SQL; END// DELIMITER ; 来源: https://blog.csdn.net/qq_18975791/article/details/102722249

node.js操作MySQL数据库

北城余情 提交于 2019-12-02 06:16:32
MySQL数据库作为最流行的开源数据库。基本上是每个web开发者必须要掌握的数据库程序之一了。 基本使用 node.js上,最受欢迎的mysql包就是mysql模块。 npm install mysql 然后在js脚本里面直接引用进来 var mysql = require('mysql'); 配置mysql的数据库连接。 var connection = mysql.createConnection({ host : 'ip', user : '用户名', password : '密码', database : 'dbname' });connection.connect(); 这样就拿到了一个连接。 然后就可以愉快的进行各种curd操作了。 node.js对数据库的curd都在query这个方法里面。这点和ado.net有很大的区别。 你的所有的操作,都从query的回调函数里面获得结果 connection.query('SELECT 1 + 1 AS solution', function (error, results, fields) { if (error) throw error; console.log('The solution is: ', results[0].solution); }); 连接池操作 在单机软件中,我们之间使用简单获得一个连接,然后就行了。

MySQL基本语句及函数

时光总嘲笑我的痴心妄想 提交于 2019-12-02 06:09:30
1.添加 INSERT INTO USER(NAME,AGE,SEX,ADDRESS) VALUES('张三',12,'男','武汉'); 2.删除 DELETE FRON USER WHERE ID=1; 3.修改 UPDATE USER SET NAME='李四'; 4.查询 SELECT * FROM USER ; 5.count()、 avg()、 sum()、 max()、 min()函数 select count(1),avg(age),sum(age),max(age),min(age) as con from user; -- 支持分组 select name,count(1) from user group by name; 6.分页 mysql的分页 当前页currentpage 每页显示多少条pagesize select * from user LIMIT 0,10; |--参数1 从第几条开始显示,但不包含这一条 |--参数2 一共显示多少条数据 select * from user LIMIT (currentpage-1)*pagesize,pagesize; 7.过滤 select DISTINCT name from uaer; 来源: https://blog.csdn.net/weixin_41844743/article/details