失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > mysql 收藏表如何建立_代码收藏系列--mysql创建数据库 数据表 函数 存储过程命令...

mysql 收藏表如何建立_代码收藏系列--mysql创建数据库 数据表 函数 存储过程命令...

时间:2020-03-21 19:09:17

相关推荐

mysql 收藏表如何建立_代码收藏系列--mysql创建数据库 数据表 函数 存储过程命令...

创建mysql数据库

CREATE DATABASE IF NOT EXISTS `database_name` DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

创建mysql数据表

drop table if exists`table_name`;create table if not exists`table_name` (

idint auto_increment primary key comment ‘主键编号‘,

`name`varchar(32) not null default ‘‘ comment ‘名称‘,

`code`varchar(32) not null default ‘‘ comment ‘代码‘,

category_idint not null default 0 comment ‘类别编号‘,INDEX idx_name (`name`), --普通索引

INDEX idx_name_category_id (`code`,category_id), --复合索引

UNIQUE INDEX idxu_code (`code`) --唯一索引

--注意,最后一行不能有逗号

) ENGINE=InnoDB DEFAULT CHARSET=utf8 comment ‘创建表\r\n-06-21‘;

补充说明:

1. MySQL数据库的varchar(M),M表示的是字符数量,而不是字节数量,占用的字节数和数据表使用的编码有关。(一个中文、英文、数字等都算一个字符)

2. MySQL要求一个行的定义长度不能超过65535字节,因此varchar的长度理论上最大是65535字节,编码若为gbk,每个字符最多占2个字节,最大长度不能超过32766个字符;编码若为utf8,每个字符最多占3个字节,最大长度不能超过21845个字符,即不论字母、数字或汉字,只能存储21785个

例如:

1个中文用UTF8编码是3字节(Byte),用GBK编码是2字节(Byte)。1个英文或数字不管什么编码都是1字节(属于ASCII编码)。

‘中文‘ 2个汉字的长度是 3byte * 2 = 6byte

‘E文‘ 1个英文+1个汉字的长度是 1byte + 3byte = 4byte

‘a0‘ 1个英文+1个数字的长度是 1byte + 1byte = 2byte

GBK的文字编码用双字节来表示,即不论中、英文字符均使用双字节来表示

‘中文‘ 2个汉字的长度是 2byte * 2 = 4byte

‘E文‘ 1个英文+1个汉字的长度是 1byte + 2byte = 3byte

‘a0‘ 1个英文+1个数字的长度是 1byte + 1byte = 2byte

创建mysql视图

create or replace view `view_name` as select * from `table_name`;

创建mysql存储过程

/**

* mysql游标

* @since 1.0 -3-28 sochishun Added.*/DELIMITER ;;drop procedure if existsproc_cursor_demo;;create procedureproc_cursor_demo()begin

declare vint_id int;declare vstr_name varchar(32);declare done boolean defaultfalse;--计费游标

declare cur1 cursor for select `id`, `name` from `table_name` where id < 100;--将结束标志绑定到游标

declare continue handler for not found set done =true;opencur1;

loop_label: loopfetch cur1 into vint_id, vstr_name; --声明结束的时候

if done thenleave loop_label;end if;

call proc_update_demo(vint_id, vstr_name);endloop;closecur1;end;;

DELIMITER ;

创建mysql函数

/**

* 创建mysql函数

* @since 1.0 -2-18 by sochishun

* @example SIP/301-00000155*/DELIMITER ;;drop function if existsfn_test_demo;;create function fn_test_demo(pstr_channel varchar(32))returns varchar(16) --函数返回定义写在这里

begin

declare vstr_prefix varchar(16);declare vstr_out varchar(16);set vstr_prefix=LEFT(pstr_channel,3);if vstr_prefix=‘SIP‘ then

set vstr_out=SUBSTR(pstr_channel,5,POSITION(‘-‘ IN pstr_channel)-5);

elseif vstr_prefix=‘Loc‘ then

set vstr_out=SUBSTR(pstr_channel,7,POSITION(‘@‘ IN pstr_channel)-7);else

set vstr_out=pstr_channel;end if;returnvstr_out;end;;

DELIMITER ;

版权声明:本文采用署名-非商业性使用-相同方式共享(CC BY-NC-SA 3.0 CN)国际许可协议进行许可,转载请注明作者及出处。

本文标题:代码收藏系列--mysql--创建数据库、数据表、函数、存储过程命令

本文链接:/sochishun/p/7061693.html

本文作者:SoChishun (邮箱:14507247# | 博客:/sochishun/)

发表日期:6月23日

原文:/sochishun/p/7061693.html

如果觉得《mysql 收藏表如何建立_代码收藏系列--mysql创建数据库 数据表 函数 存储过程命令...》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。