欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

mysql字符串轉表數據

傅智翔2年前9瀏覽0評論

MySQL是一個常用的關系型數據庫管理系統。其中,字符串轉表數據是一項常見的操作。下面我們來詳細了解一下這個操作。

CREATE TABLE example (
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(30) NOT NULL,
age INT,
address VARCHAR(50),
PRIMARY KEY (id)
);
INSERT INTO example (name, age, address) VALUES
('Bob', 25, 'New York'),
('Alice', 30, 'Los Angeles'),
('John', 20, 'Chicago'),
('Susan', 35, 'Houston');

以上是一個示例表example,我們可以通過以下方式將其轉化為字符串:

SELECT CONCAT(
'CREATE TABLE example (',
'id INT NOT NULL AUTO_INCREMENT, ',
'name VARCHAR(30) NOT NULL, ',
'age INT, ',
'address VARCHAR(50), ',
'PRIMARY KEY (id)',
');',
GROUP_CONCAT(
CONCAT(
'INSERT INTO example (name, age, address) VALUES (',
QUOTE(name), ', ',
age, ', ',
QUOTE(address), 
');'
)
SEPARATOR '')
) AS sql_query
FROM example;

以上語句使用CONCAT()函數將表定義和表數據語句連接在一起,并使用GROUP_CONCAT()函數將多行表數據連接為一個字符串。

執行以上語句后,我們會得到以下結果:

CREATE TABLE example (
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(30) NOT NULL,
age INT,
address VARCHAR(50),
PRIMARY KEY (id)
);
INSERT INTO example (name, age, address) VALUES ('Bob', 25, 'New York'),('Alice', 30, 'Los Angeles'),('John', 20, 'Chicago'),('Susan', 35, 'Houston');

這是一個包含完整表定義和表數據的字符串。我們可以將其復制到命令行或其他MySQL客戶端中,直接執行該語句即可創建和填充表。