代码收藏系列--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` (
    id int auto_increment primary key comment ‘主键编号‘,
    `name` varchar(32) not null default ‘‘ comment ‘名称‘,
    `code` varchar(32) not null default ‘‘ comment ‘代码‘,
    category_id int 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\n2017-06-21‘;

补充说明:
1. MySQL数据库的varchar(M),M表示的是字符数量,而不是字节数量,占用的字节数和数据表使用的编码有关。(一个中文、英文、数字等都算一个字符)
2. MySQL要求一个行的定义长度不能超过65535字节,因此varchar的长度理论上最大是65535字节,编码若为gbk,每个字符最多占2个字节,最大长度不能超过32766个字符;编码若为utf8,每个字符最多占3个字节,最大长度不能超过21845个字符,即不论字母、数字或汉字,只能存储21785个

文章参考:http://www.cnblogs.com/sochishun/p/7026762.html

例如:
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 2015-3-28 sochishun Added.
*/
DELIMITER ;;
drop procedure if exists proc_cursor_demo;;
create procedure proc_cursor_demo()
begin
    declare vint_id int;
    declare vstr_name varchar(32);
    declare done boolean default false;
    -- 计费游标
    declare cur1 cursor for select `id`, `name` from `table_name` where id < 100;
    -- 将结束标志绑定到游标
    declare continue handler for not found set done = true;

    open cur1;
    loop_label: loop
    fetch cur1 into vint_id, vstr_name;  -- 声明结束的时候
        if done then
            leave loop_label;
        end if;
        call proc_update_demo(vint_id, vstr_name);
    end loop;
    close cur1;
end;;
DELIMITER ;

创建mysql函数

/**
* 创建mysql函数
* @since 1.0 2016-2-18 by sochishun
* @example SIP/301-00000155
*/
DELIMITER ;;
drop function if exists fn_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;
    return vstr_out;
end;;
DELIMITER ;

版权声明:本文采用署名-非商业性使用-相同方式共享(CC BY-NC-SA 3.0 CN)国际许可协议进行许可,转载请注明作者及出处。
本文标题:代码收藏系列--mysql--创建数据库、数据表、函数、存储过程命令
本文链接:http://www.cnblogs.com/sochishun/p/7061693.html
本文作者:SoChishun (邮箱:14507247#qq.com | 博客:http://www.cnblogs.com/sochishun/)
发表日期:2017年6月23日

时间: 2024-12-30 11:36:04

代码收藏系列--mysql创建数据库、数据表、函数、存储过程命令的相关文章

【MySQL】2、MySQL 创建数据库和表

2.MySQL 创建数据库和表 2.1.创建数据库 CREATE DATABASE 语句用于在 MySQL 中创建数据库. CREATE DATABASE database_name 为了让 PHP 执行上面的语句,我们必须使用 mysql_query() 函数(用于向 MySQL 连接发送查询或命令). 2.2.创建表 CREATE TABLE 用于在 MySQL 中创建数据库表. CREATE TABLE table_name ( column_name1 data_type, column

PHP创建数据库数据表

PHP创建数据库数据表 <?php $con = mysql_connect('localhost', 'root', 'root'); /************************在数据库中创建表*************************/ if (!$con) { die ('连接数据库出错: ' . mysql_error()); } $database="my_db_name"; $sqlDatabase = 'create database '.$data

SQLserver 2008同步复制创建后新增表/函数/存储过程(不重新初始化快照)

SQLserver 2008同步复制创建后新增表/函数/存储过程(不重新初始化快照) 一.在生产环境中已有事务复制中(复制类型为事务发布),需要对已有发布的数据库新增表.视图.存储过程等,这些变更是不会同步到从库中.如必须应用到从库,有以下两种方法: 1.如果采用默认的设置,每次都需要重新初始化快照,从库重新应用快照和未执行的同步命令,这在生产环境中对数据库压力或性能或DBA可维护性表现的很差. 2.将新增的架构变更新建一个新的发布订阅,但会造成维护困难,增加出错的几率. 3.可以通过设置imm

19 MySQL概念 数据库 数据表 数据类型 增加删除修改查询 WHERE Order By Limit

数据库管理系统DBMS 数据库中相关概念 数据库 数据表 记录 字段 数据 登录和退出MySQL客户端 查询自己的MySQL服务器有几个数据库 二.退出MySQL客户端的命令 修改root用户的密码 在MySQL客户端来修改密码(当前账号的密码) 数据库操作 创建数据库 显示所有数据库 删除数据库 选择数据库 更改数据库默认字符集 数据表操作 显示当前数据库中的所有表 创建数据表 显示表的创建 列的常用属性 修改数据表 删除数据表 显示表结构 MySQL数据类型 整型 浮点型 字符型 文本型 日

Mysql创建数据库与表,并添加表的数据

首先,在成功安装Mysql的基础上,进入到cmd窗口,登录我们的mysql管理系统. 登录方式:mysql -u用户名 -p密码 如果出现Welcome to...等一大堆英文指示,则说明成功进入了mysql系统. 因为我们不知道系统中有哪些库,所以要使用show databases 命令行,展示有那些库: 1.创建数据库与删除 CREATE DATABASE 数据库名 DEFAULT CHARSET='utf8'; Create database shiyan defaultcharset='

PHP MySQL 创建数据库和表 之 Create

创建数据库 CREATE DATABASE 语句用于在 MySQL 中创建数据库. 语法 CREATE DATABASE database_name 为了让 PHP 执行上面的语句,我们必须使用 mysql_query() 函数.此函数用于向 MySQL 连接发送查询或命令. 例子 在下面的例子中,我们创建了一个名为 "my_db" 的数据库: <?php $con = mysql_connect("localhost","peter",&

MySQL创建数据库和表的Demo

Demo: 创建数据库的语法 1.基本语法 create database tour character set gbk; use tour; 无主键自增长的 create table EMB_T_Employee (    emb_c_operatorID     int not null,    emb_c_empCode        varchar(255) not null,    emb_c_gender         int not null,    emb_c_email   

php+sql创建本地项目详细步骤1——创建数据库数据表,数据库连接

一.我们使用wamp,首先保证wamp打开,服务打开状态 二.创建数据库,创建表 要注意这里的数据集要选择utf8,否则插入数据会乱码 创建表选择高级属性,也要设置数据集 可以设置id为主键并且自增长 这样数据库shoes就创建好了,并且有一个空表shoes_jd_wx. 三.连接数据库 创建文件dblink.php <?php header("Content-Type:text/html;charset=UTF-8"); //设置字符 error_reporting(0); /

MySQL处理数据库和表的常用命令

处理数据库 查看数据库 获取服务器上的数据库列表通常很有用.执行show databases;命令就可以搞定. mysql> show databases; 创建数据库 mysql> create database db_test;Query OK, 1 row affected (0.00 sec) 使用数据库 数据库一旦创建,就可以通过"使用"(use命令)数据库,将其指定为默认的工作数据库. mysql> use db_test;Database changed