行数据转逗号隔开excel(mysql行转列逗号隔开)

Exce表格网 2022-12-23 15:10 编辑:admin 105阅读

1. mysql行转列逗号隔开

mysql创建表命令是

【CREATE TABLE table_name (column_name column_type);】,其中参数包含表名、表字段名以及定义的每个表字段。

创建MySQL数据表需要以下信息:

● 表名

● 表字段名

● 定义每个表字段

基本语法

以下为创建MySQL数据表的SQL通用语法:

示例:通过命令提示符创建表

通过 mysql> 命令窗口可以很简单的创建MySQL数据表。你可以使用 SQL 语句 CREATE TABLE 来创建数据表。

1、首先接mysql服务器,输入密码

2、进入数据库RUNOOB中

3、创建表

输出:

表示数据表创建成功。

注意:MySQL命令终止符为分号 ; 。

注意: -> 是换行符标识,不要复制。

示例解析:

● 如果你不想字段为 NULL 可以设置字段的属性为 NOT NULL, 在操作数据库时如果输入该字段的数据为NULL ,就会报错。

● AUTO_INCREMENT定义列为自增的属性,一般用于主键,数值会自动加1。

● PRIMARY KEY关键字用于定义列为主键。 您可以使用多列来定义主键,列间以逗号分隔。

● ENGINE 设置存储引擎,CHARSET 设置编码。

我们可以使用命令来查看命令行查看表结构。

2. mysql按逗号拆分列为多行

selectID,group_concat(NAME)asNAMEfromtablegroupbyID;selectID,group_concat(NAMESEPARATOR';')asNAMEfromagroupbyID;

3. mysql逗号分隔

插入语句常用写法:

INSERT INTO items(name,city,price,number,picture) VALUES('耐克运动鞋','广州',500,1000,'003.jpg');

这种方式只能够一次插入一条数据,要想插入多条数据,就得多次调用此sql语句,意味着多次与数据库建立连接。但是这样一来,就会增加服务器的负荷,因为,执行每一次SQL服务器都要同样对SQL进行分析、优化等操作。幸好MySQL提供了另一种解决方案,就是使用一条INSERT语句来插入多条记录。这并不是标准的SQL语法,因此只能在MySQL中使用。

一条INSERT语句插入批量数据的写法:

INSERT INTO

[表名]([列名],[列名])

VALUES

([列值],[列值])),

([列值],[列值])),

([列值],[列值]));

可以看到,和原来的常规INSERT语句的区别,仅仅是在VALUES 后面增加值的排列,每条记录之间用英文输入法状态下的逗号隔开,是不是so easy。

示例:

INSERT INTO

items(name,city,price,number,picture)

VALUES

('耐克运动鞋','广州',500,1000,'003.jpg'),

('耐克运动鞋2','广州2',500,1000,'002.jpg');

这样,就实现了一次性插入了2条数据。

建议:

在程序中,插入批量数据时,最好使用这种通过一条INSERT语句来一次性插入的方式。这样可以避免程序和数据库建立多次连接,从而增加服务器负荷。

4. mysql将逗号拼接的弄成多行

在数据库查询时,常常需要排序,而有时排序条件可能有多个。

  如数据库:   a b   

1 103   1 101   

2 201   2 203   1 102   2 202   排序后: a b   1 103   1 102   1 101   2 203   2 202   2 201   语句:   SELECT A.a , A.b FROM TABLE A ORDER BY A.a ASC , A.b DESC   其中ASC连接多条排序,且与后一条查询之间有逗号隔开!

5. mysql根据逗号一行变多行

数据太大,用数据库客户端软件直接导入非常卡,还是直接执行SQL吧。

1、指定文件路径。

2、字段之间以逗号分隔,数据行之间以\r\n分隔(我这里文件是以\n分隔的)。

3、字符串以半角双引号包围,字符串本身的双引号用两个双引号表示。 Sql代码 复制代码 代码如下:load data infile 'D:\\top-1m.csv' into table `site` fields terminated by ',' optionally enclosed by '"' escaped by '"' lines terminated by '\n'; 顺带也备份个导出吧。 Sql代码 复制代码 代码如下:select * from `site` into outfile 'D:\\top-1m.csv' fields terminated by ',' optionally enclosed by '"' escaped by '"' lines terminated by '\n';

6. mysql把用逗号隔开的字段

几乎一样,但是Convert比Cast多了个style可以让转换结果变成指定的显示样式

以下是网上找到的参考资料

SQL中的cast和convert都是用来将一种数据类型的表达式转换为另一种数据类型的表达式。CAST和CONVERT提供相似的功能,只是语法不同。在时间转化中一般用到convert,因为它比cast多加了一个style,可以转化成不同时间的格式。

一、语法:

1、使用CAST

  CAST(expressionASdata_type)

2、使用CONVERT

  CONVERT(data_type[(length)],expression[,style])

3、参数说明

  expression

  是任何有效的表达式。

  data_type:

  目标系统所提供的数据类型,包括bigint和sql_variant。不能使用用户定义的数据类型。

  length

  nchar、nvarchar、char、varchar、binary或varbinary数据类型的可选参数。

  style

  日期格式样式,借以将datetime或smalldatetime数据转换为字符数据(nchar、nvarchar、char、varchar、nchar或nvarchar数据类型);或者字符串格式样式,借以将float、real、money或smallmoney数据转换为字符数据(nchar、nvarchar、char、varchar、nchar或nvarchar数据类型)。

二、cast和convert的代码示例

SQL代码复制

selectCAST('123'asint)--123

selectCONVERT(int,'123')--123

selectCAST(123.4asint)--123

selectCONVERT(int,123.4)--123

selectCAST('123.4'asint)

selectCONVERT(int,'123.4')

--Conversionfailedwhenconvertingthevarcharvalue'123.4'todatatypeint.

selectCAST('123.4'asdecimal)--123

selectCONVERT(decimal,'123.4')--123

selectCAST('123.4'asdecimal(9,2))--123.40

selectCONVERT(decimal(9,2),'123.4')--123.40

declare@Nummoney

set@Num=1234.56

selectCONVERT(varchar(20),@Num,0)--1234.56

selectCONVERT(varchar(20),@Num,1)--1,234.56

selectCONVERT(varchar(20),@Num,2)--1234.5600

三、convert函数的style参数说明

1、Date和Time样式

不带世纪数位(yy)带世纪数位(yyyy)输入/输出

-0或100monddyyyyhh:miAM(或PM)

11011=mm/dd/yy

101=mm/dd/yyyy

21022=yy.mm.dd

102=yyyy.mm.dd

31033=dd/mm/yy

103=dd/mm/yyyy

41044=dd.mm.yy

104=dd.mm.yyyy

51055=dd-mm-yy

105=dd-mm-yyyy

61066=ddmonyy

106=ddmonyyyy

71077=Mondd,yy

107=Mondd,yyyy

8108hh:mi:ss

-9或109monddyyyyhh:mi:ss:mmmAM(或PM)

1011010=mm-dd-yy

110=mm-dd-yyyy

1111111=yy/mm/dd

111=yyyy/mm/dd

1211212=yymmdd

112=yyyymmdd

-13或113ddmonyyyyhh:mi:ss:mmm(24h)

14114ddmonyyyyhh:mi:ss:mmm(24h)

-20或120yyyy-mm-ddhh:mi:ss(24h)

-21或121yyyy-mm-ddhh:mi:ss.mmm(24h)

-126yyyy-mm-ddThh:mi:ss.mmm(无空格)

-127yyyy-mm-ddThh:mi:ss.mmmZ(无空格)

-130ddmonyyyyhh:mi:ss:mmmAM

-131dd/mm/yyyyhh:mi:ss:mmmAM

2、float和real样式

值输出

0(默认值)最多包含6位。根据需要使用科学记数法。

1始终为8位值。始终使用科学记数法。

2始终为16位值。始终使用科学记数法。

3、money和smallmoney样式

值输出

0小数点左侧每三位数字之间不以逗号分隔,小数点右侧取两位数,例如4235.98。

1小数点左侧每三位数字之间以逗号分隔,小数点右侧取两位数,例如3,510.92。

2小数点左侧每三位数字之间以逗号分隔,小数点右侧取两位数,例如3,510.92。

126转换为char(n)或varchar(n)时,等同于样式2

7. mysql 逗号分割转行

FIND_IN_SET(str,strlist)函数str要查询的字符串strlist字段名参数以”,”分隔如(1,2,6,8)查询字段(strlist)中包含(str)的结果,返回结果为null或记录!

8. sql 逗号分隔 行转列

SQL 用update语句一次更新多个字段语句格式如下: UPDATE 表名 SET 列名1=值,列名2=值2,... [WHERE 条件] 多个字段时可以用逗号隔开,每个  字段名=值  就是给字段赋值,其后的WHERE 条件语句可以用也可以不用

9. mysql多行合并成一行 逗号

常见数据库,SQlserver、Oracle、MySQL,其增删改查的语法都是差不多的。

MySQL的插入语句语法为:inert into <表名> [ <列名1> [ , … <列名n>] ] values (值1) [… , (值n) ];

关键字就是 insert into … values ,insert into后面的括号里跟的是字段名,各个字段之间用英文逗号分隔,values后面的括号里跟的是具体的字段值,每个值用英文逗号分隔。

比如,我们有个表人员档案表叫psndocument,里面有字段姓名(name)、编号(code)、身份证号(cardID)、性别(sex)。现在我们要插入张三的信息,写法如下:

inert into psndocument (name,code,cardID,sex)values('张三','001','200200*******','男')

顶一下
(0)
0%
踩一下
(0)
0%
相关评论
我要评论
点击我更换图片