create table tab1

use zhucm_sql;

--创建表并将本地数据导入表
drop table if exists bala_zhu_weekly_tmp;
create table 'bala_zhu_weekly_tmp'(
'Platform' VARCHAR(20) COMMENT '平台',
'brand' VARCHAR(20) COMMENT '品牌',
`Order_time` varchar(50) NOT NULL DEFAULT '1970-01-01 00:00:00' COMMENT '下单时间',
`Purchase_quantity` smallint(5) COMMENT '购买数量'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

load data local infile './data/bala_zhu_weekly_tmp.csv'
into table bala_zhu_weekly_tmp
fields terminated by ',' optionally enclosed by '"' escaped by '"'
lines terminated by '\n';


--数据清洗
use zhucm_sql;
set sql_safe_updates=0;
-- SQL_SAFE_UPDATES = 1(默认)时,不带where和limit条件的update和delete操作语句是无法执行的,即使是有where和limit条件但不带key column的update和delete也不能执行。

UPDATE zhucm_sql.bala_zhu_weekly_tmp
SET
User_Id=MID(User_Id,3,CHAR_LENGTH(User_Id)-3)
; --冒号别忘了

UPDATE zhucm_sql.bala_zhu_weekly_tmp SET Pay_time = '1970-01-01 00:00:00' where Pay_time ='' or Pay_time is null;
--时间类型的字段为空时,设置为 '1970-01-01 00:00:00'

-- 对子表预处理,去掉多余的字符,如时间字段2017-05-01 00:23:12.0的后缀.0等;金钱相关字段NULL的设置为0.00;时间相关NULL设置为 '1970-01-01 00:00:00'
use zhucm_sql;
set sql_safe_updates=0;
UPDATE zhucm_sql.bala_zi_weekly_tmp


MID(ColumnName, Start [, Length]) 字符串从1开始,而非0,Length是可选项,如果没有提供, MID() 函数将返回余下的字符串。
>> SELECT  MID( 'NowaMagic' , 5, 5);
>> Magic


SET Child_order_Num=MID(Child_order_Num,3,LENGTH(Child_order_Num)- 3),
User_Id=MID(User_Id,3,CHAR_LENGTH(User_Id)-3),
Order_Num=MID(Order_Num,3,LENGTH(Order_Num)-3),
Order_time = MID(Order_time,1,LENGTH(Order_time)- 2),
Pay_time = MID(Pay_time,1,LENGTH(Pay_time)- 2),
Delivery_time = MID(Delivery_time,1,LENGTH(Delivery_time)- 2)
;

UPDATE zhucm_sql.bala_zi_weekly_tmp SET Refund_pay = 0.00 where Refund_pay ='' or Refund_pay is null;


您提供的是一个SQL语句,用于创建一个名为"tab1"的数据库表。这个语句在SQL数据库中创建了一个包含5个列的表,每个列都有不同的数据类型和约束。以下是对这个SQL语句的详细解释: ```sql CREATE TABLE tab1 ( col1 SMALLINT, col2 INT, col3 CHAR(20), col4 NUMERIC(10,3), col5 DECIMAL(5,2) ); ``` 让我们逐行解释这个语句: 1. `CREATE TABLE tab1`: 这行代码用于创建一个名为"tab1"的新表。 2. `col1 SMALLINT`: - 创建一个名为"col1"的列。 - 使用SMALLINT数据类型,它通常用于存储较小的整数,占用2个字节。 3. `col2 INT`: - 创建一个名为"col2"的列。 - 使用INT(整数)数据类型,可以存储较大的整数。 4. `col3 CHAR(20)`: - 创建一个名为"col3"的列。 - 使用CHAR(20)数据类型,它用于存储固定长度的字符串,最大长度为20个字符。 5. `col4 NUMERIC(10,3)`: - 创建一个名为"col4"的列。 - 使用NUMERIC数据类型,可以存储精确的数字值。 - (10,3)表示这个数字总共有10位数字,其中3位是小数。 6. `col5 DECIMAL(5,2)`: - 创建一个名为"col5"的列。 - 使用DECIMAL数据类型,类似于NUMERIC,用于存储精确的数字值。 - (5,2)表示这个数字总共有5位数字,其中2位是小数。 这个表的设计允许存储各种类型的数据,包括整数、固定长度的字符串和精确的数字值。它可能用于存储类似产品信息、订单详情或财务数据等信息。 如果您需要在MATLAB中与这样的数据库表交互,您可以使用MATLAB的Database Toolbox。以下是一个简单的MATLAB示例,演示如何连接到数据库并向这个表插入数据: ```matlab % 数据库连接参数 username = 'your_username'; password = 'your_password'; databaseName = 'your_database'; driver = 'Vendor:mysql://'; % 创建连接 conn = database(databaseName, username, password, driver); % 准备要插入的数据 data = {1, 100, 'example', 12345.678, 99.99}; % 执行插入操作 insert(conn, 'tab1', {'col1','col2','col3','col4','col5'}, data); % 关闭连接 close(conn); ``` 这个MATLAB脚本展示了如何连接到数据库,并将一行数据插入到新创建的"tab1"表中。请注意,您需要根据实际的数据库类型和连接参数修改连接参数部分。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值