Mysql建库建表
一、创建数据库
1、创建库
create database test; //如果没有数据库需要创建
use test; //使用数据库,schema会出现test数据库且字体变粗

2、查询当前用户
select user(); //显示root说明是当前用户是root

3、导数据
(1)导表
语法:mysqldump -u username -p database table_name >dump.sql
-u username指定用户名;-p表示要输入密码,但是是命令输完后按enter健才开始输入;
说明:用户名是root,数据库名是test,表名是flow
mysqldump -u root -p test flow >E:\mysqldump\flow.sql //导出表结构和表数据,导出文件前面加上路径可指定导出路径
mysqldump -u root -p --no-data test flow >E:\mysqldump\flow_struct_only.sql //导出表结构
mysqldump -u root -p --no-create-info test flow >E:\mysqldump\flow_data_only.sql //导出表数据

powerdesiner导入sql文件,File->Reverse Engineer->Database->DBMS选择MySQL5.0->Using srcipt files增加文件选择E:\mysqldump\flow_struct_only.sql
二、创建表
1、建表
create table performance
(
...
)
select * from performance; //查询表
2、增加列
alter table performance add createtime datetime; //所有的表最好都要有一个行创建时间
alter table performance modify createtime datetime default now(); //这个更新时间默认now()
alter table performance add id int auto_increment primary key; //设置id为自增序列,必须为外键
alter table performance add updatetime datetime; //所有的表最好都要有一个行更新时间
alter table performance change column loadtime createtime datetime; //修改列名,将loadtime列名改为createtime
3、修改数据类型
alter table performance modify column slkhj_point decimal(12,4) , modify column qt_point decimal(12,4); //因为百分比小数位数有4位,如果只设置小数位数为2位,会导致四舍五入
三、触发器
1、创建触发器向系统插入修改时间
DROP TRIGGER IF EXISTS `updatetime_trigger`;
DELIMITER $$
CREATE TRIGGER `updatetime_trigger` BEFORE UPDATE ON `performance`
FOR EACH ROW SET NEW.`updatetime` = NOW()
$$
DELIMITER ;
DELIMITER是定义结束符为$$,常规的代码块中用分号来结束语句,但是在DELIMITER中是用$$来结束的。
2、查看数据库已创建的触发器
SHOW TRIGGERS IN test;


浙公网安备 33010602011771号