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; 

 

posted @ 2025-04-03 11:48  微风徐徐$  阅读(39)  评论(0)    收藏  举报