1.1 表处理
1.11提取表结构(含索引、字段、分区等)
Create table tableb like tablea
建库语句:
create database 数据库名//创建数据库student
1.12修改表结构
修改字段新类型: ALTER TABLE 表名 MODIFY column 字段字段新类型【注:类型有大小需标明如varchar】
修改字段: alter table fact_mon_obd_port change验收流水号单点工程编码 varchar(200); -- 修改字段名‘验收流水号’为‘单点工程编码’
alter table 表名 modify 列名字段名 字段类型(长度) not null;
alter table 表名 modify 列名字段名 字段类型(长度) null;
ALTER TABLE table_name COMMENT='这是表的注释';
ALTER table table_name MODIFY `column_name`datetime DEFAULT NULL COMMENT '这是字段的注释'
1.13 字段转换类型
CAST函数语法规则是:Cast(字段名 as 转换的类型 ),其中类型可以为:
CHAR[(N)] 字符型
DATE 日期型
DATETIME 日期和时间型
DECIMAL float型
SIGNED int
TIME 时间型
数值型:cast(null as unsigned int) 无符号型,即只取整数不取负数
cast(null as signed INTEGER) 有符号型,有负数及正数
cast(null as DECIMAL(19,0) ) 大数值型、float型
字符型:cast(null as char(200)) 添加字符数量限制会最终显示字段类型为varchar
日期型:date_format(sysdate(),'%Y-%m-%d')
1.21 过程创建语句
- CREATE PROCEDURE 存储过程名称( [in | out | inout] 参数 )
- BEGIN
- Mysql 语句
- END
1.22 while 循环
- delimiter $$ // 定义结束符为 $$
- drop procedure if exists wk; // 删除 已有的 存储过程
- create procedure wk() // 创建新的存储过程
- begin
- declare i int; // 变量声明
- set i = 1;
- while i < 11 do // 循环体
- insert into user_profile (uid) values (i);
- set i = i +1;
- end while;
- end $$ // 结束定义语句
- // 调用
- delimiter ; // 先把结束符 回复为;
- call wk();
delimter : mysql 默认的 delimiter是; 告诉mysql解释器,该段命令是否已经结束了,mysql是否可以执行了。
这里使用 delimiter 重定义结束符的作用是: 不让存储过程中的语句在定义的时候输出。
1.23 REPEAT 循环
- delimiter //
- drop procedure if exists looppc;
- create procedure looppc()
- begin
- declare i int;
- set i = 1;
- repeat
- insert into user_profile_company (uid) values (i+1);
- set i = i + 1;
- until i >= 20
- end repeat;
- end //
---- 调用
call looppc()
1.24 LOOP 循环
- delimiter $$
- drop procedure if exists lopp;
- create procedure lopp()
- begin
- declare i int ;
- set i = 1;
- lp1 : LOOP // lp1 为循环体名称 LOOP 为关键字insert into user_profile (uid) values (i);
- set i = i+1;
- if i > 30 then
- leave lp1; // 离开循环体
- end if;
- end LOOP; // 结束循环
- end $$