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*******','男')
- 相关评论
- 我要评论
-