sql >> データベース >  >> RDS >> Mysql

文字列をスキーマ付きのテーブルに変換するには

    名前で十分な方法があるかもしれませんが、それは機能する必要があります!

    Create table MIX (
    `id` int not null,
    `x` text not null)
    ENGINE = InnoDB;
    insert into mix value (1,'Andy~22~US|Jane~24~Australia|Davis~30~UK|Nancy~32~Germany');
    create table unmix select
    numbers.n as id,
    SUBSTRING_INDEX(SUBSTRING_INDEX(x, '~', 2*numbers.n),'~', -1) as Age,
    SUBSTRING_INDEX(SUBSTRING_INDEX(x, '|', 1*numbers.n),'~', -1) as Country,
    substring_index(SUBSTRING_INDEX(SUBSTRING_INDEX(x,'~', 2*numbers.n),'|',-1),'~',+1) as Name
    from
    (select 1 n union all
     select 2 union all 
     select 3 union all select 4 ) 
     numbers INNER JOIN mix
    on CHAR_LENGTH(mix.x)
     -CHAR_LENGTH(REPLACE(mix.x, ' ', ''))>=numbers.n-4;
    


    1. XAMPPが機能していません! -OS XYosemite

    2. 行が見つからないDELETEの後に条件付きでUPDATE/INSERTを実行するにはどうすればよいですか?

    3. SQLでのCREATETABLE–SQLでのテーブルの作成について知っておくべきことすべて

    4. mysql_queryのパラメーターの使用