原文链接:mysql使用笔记
发布时间:2018-12-16 16:24:10
常用界面工具
有时候为了方面,可以使用界面工具查看修改mysql,推荐两个工具:
Navicat 需要破解
HeidiSQL 开源免费
shell操作
远程登录
1 2
| ```sql mysql -u username -p123456 -h 192.168.97.200 -P 3300 -D dbname
|
查看数据库和表
1 2 3 4 5 6 7 8 9 10 11 12 13
| ```sql show databases;
show tables;
use database_name; # 进入这个数据库
desc table_name; # 查看表结构
status; # 查看当前数据库的名称、ip、端口等等信息
select database(); #查看当前的数据库名称 这是调用函数
|
查看存储过程或者函数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| ```sql SHOW CREATE { PROCEDURE | FUNCTION } sp_name ;
//例子 SHOW CREATE PROCEDURE GetTableReset\G; *************************** 1. row *************************** Procedure: GetTableReset sql_mode: Create Procedure: NULL character_set_client: utf8 collation_connection: utf8_general_ci Database Collation: utf8_general_ci 1 row in set (0.00 sec)
因为没有root权限,所以 Create Procedure 为 NULL,看不到具体的定义。
|
常用函数
1 2 3 4 5 6 7 8 9 10 11
| ```sql
select FROM_UNIX(timestamp) ;
select UNIX_TIMESTAMP();
select INET_ATON("192.168.1.1")
select INET_NTOA(12343445)
|
补充–函数和存储过程的区别
存储过程,包括的多条SQL,可以返回结果集,调用存储过程,就像调用sql一样。
而函数则不同,函数强调的是计算获得一个结果,和内置的函数类似,比如sum count等等。
1:限制
存储函数和存储过程统称为存储例程(store routine),存储函数的限制比较多,例如不能用临时表,只能用表变量,而存储过程的限制较少,存储过程的实现功能要复杂些,而函数的实现功能针对性比较强
2:返回值不同
存储函数必须有返回值,且仅返回一个结果值
存储过程可以没有返回值,但是能返回结果集(out,inout)
3:调用时的不同
存储函数嵌入在SQL中使用,可以在select 存储函数名(变量值);
存储过程通过call语句调用 call 存储过程名
4:参数的不同
存储函数的参数类型类似于IN参数
存储过程的参数类型有三种
1: in 数据只是从外部传入内部使用(值传递),可以是数值也可以是变量
2: out 只允许过程内部使用(不用外部数据),给外部使用的(引用传递:外部的数据会被先清空才会进入到内部),只能是变量
3: inout 外部可以在内部使用,内部修改的也可以给外部使用,典型的引用 传递,只能传递变量