Rumah  >  Artikel  >  pangkalan data  >  penukaran data mysql

penukaran data mysql

王林
王林asal
2023-05-20 10:20:371509semak imbas

Apabila analisis data menjadi semakin penting, transformasi dan pembersihan data menjadi semakin diperlukan. Dalam proses analisis data, kita biasanya perlu menukar data daripada format dan sumber yang berbeza kepada format yang kita perlukan. Antaranya, MySQL ialah sistem pengurusan pangkalan data hubungan yang popular hari ini. Artikel ini akan memperkenalkan cara menggunakan MySQL untuk transformasi data.

1. Jenis data MySQL

Sebelum melakukan penukaran data, kita perlu memahami jenis data MySQL untuk menukar jenis data dengan betul. Berikut ialah jenis data utama yang disokong oleh MySQL:

  1. Jenis integer: tinyint, smallint, mediumint, int, bigint
  2. Jenis titik terapung: float, double, decimal
  3. Jenis aksara: char, varchar, text, longtext
  4. Tarikh dan jenis masa: tarikh, masa, tarikh masa, cap masa

2. Import dan eksport data

MySQL boleh mengimport dan mengeksport pelbagai format data, seperti csv, json, xml, dsb. Dalam proses analisis data, csv ialah format yang sangat biasa digunakan. Berikut ialah cara mengimport dan mengeksport fail csv ke MySQL.

  1. Import data

Untuk mengimport fail csv dalam MySQL, anda boleh menggunakan pernyataan LOAD DATA. Katakan kita mempunyai fail csv bernama "data.csv" dengan kandungan berikut:

name,age,gender
Alice,23,Female
Bob,25,Male
Charlie,28,Male

Kemudian anda boleh menggunakan pernyataan SQL berikut untuk mengimport data ke dalam jadual "pengguna" dalam MySQL:

LOAD DATA INFILE '/path/to/data.csv'
INTO TABLE users
FIELDS TERMINATED BY ','
LINES TERMINATED BY '
'
IGNORE 1 ROWS;

Pernyataan SQL di atas akan memasukkan data dalam fail csv ke dalam jadual bernama "pengguna", dan lajur "nama", "umur" dan "jantina" akan sepadan dengan setiap baris data dalam "data.csv" fail. ABAIKAN 1 BARIS bermaksud mengabaikan baris pertama kandungan dalam fail csv.

  1. Eksport data

Eksport data dalam MySQL ke fail csv, juga menggunakan penyataan SELECT ... INTO OUTFILE .... Pernyataan SQL berikut mengeksport data dalam jadual "pengguna" dalam MySQL ke fail "data.csv":

SELECT name, age, gender
INTO OUTFILE '/path/to/data.csv'
FIELDS TERMINATED BY ','
LINES TERMINATED BY '
'
FROM users;

Dalam pernyataan SQL di atas, kami memilih "nama", "umur" dan "jantina" " lajur dan gunakan FIELDS DIATAMKAN OLEH ',' dan LINES DIATAMATKAN OLEH '
' untuk menentukan medan dan pembatas baris masing-masing.

3. Penukaran jenis data

Dalam MySQL, anda boleh menggunakan fungsi CAST dan CONVERT untuk menukar data daripada satu jenis kepada yang lain. Berikut ialah beberapa contoh penukaran jenis data biasa.

  1. Tukar rentetan kepada nombor

Gunakan fungsi CAST untuk menukar rentetan kepada jenis nombor. Sebagai contoh, pernyataan SQL berikut menukar rentetan "123" kepada integer:

SELECT CAST('123' AS SIGNED);

Pernyataan SQL di atas akan mengeluarkan nombor 123. Begitu juga, pernyataan SQL berikut menukar rentetan "3.14" kepada nombor titik terapung:

SELECT CAST('3.14' AS DECIMAL(10,2));

Pernyataan SQL di atas akan mengeluarkan nombor 3.14.

  1. Tukar nombor kepada rentetan

Menggunakan fungsi CAST anda juga boleh menukar jenis nombor kepada jenis rentetan. Sebagai contoh, pernyataan SQL berikut menukarkan nombor 123 kepada rentetan:

SELECT CAST(123 AS CHAR);

Pernyataan SQL di atas akan mengeluarkan rentetan "123".

  1. Penukaran jenis tarikh dan masa

Jenis tarikh dan masa dalam MySQL termasuk tarikh, masa, masa tarikh dan cap waktu. Anda boleh menggunakan fungsi CAST dan CONVERT untuk menukar jenis datetime kepada jenis rentetan dan jenis rentetan kepada jenis datetime. Sebagai contoh, pernyataan SQL berikut menukar jenis datetime kepada jenis rentetan:

SELECT CAST(NOW() AS CHAR);

Pernyataan SQL di atas akan mengeluarkan perwakilan rentetan bagi datetime semasa. Selain itu, pernyataan SQL berikut menukar jenis rentetan kepada jenis datetime:

SELECT CAST('2022-01-01 00:00:00' AS DATETIME);

Pernyataan SQL di atas akan mengeluarkan jenis datetime "2022-01-01 00:00:00".

4. Pembersihan Data

Dalam analisis data sebenar, pembersihan data selalunya diperlukan untuk memastikan ketepatan dan penyeragaman data. Berikut ialah beberapa contoh pembersihan data biasa.

  1. Deduplikasi

Deduplikasi ialah kaedah pembersihan data biasa. Dalam MySQL, anda boleh menggunakan kata kunci DISTINCT untuk menyahduplikasi data. Pernyataan SQL berikut akan memilih jantina unik daripada jadual "pengguna":

SELECT DISTINCT gender FROM users;
  1. Pengendalian nilai hilang

Mengendalikan nilai yang hilang adalah salah satu langkah penting dalam data pembersihan. Dalam MySQL, anda boleh menggunakan fungsi IFNULL untuk menggantikan nilai yang hilang dengan nilai lalai. Contohnya, pernyataan SQL berikut menggantikan umur yang hilang dalam jadual "pengguna" dengan -1:

SELECT name, IFNULL(age, -1) AS age, gender FROM users;

Pernyataan SQL di atas akan mengeluarkan senarai nama, umur dan jantina, atau lajur "umur" jika ia kosong Gantikan dengan -1.

  1. Pengumpulan data

Pengumpulan data ialah kaedah pembersihan data biasa yang boleh membahagikan data kepada berbilang kumpulan berdasarkan ciri tertentu. Dalam MySQL, anda boleh menggunakan kata kunci GROUP BY untuk mengumpulkan data. Pernyataan SQL berikut mengumpulkan jadual "pengguna" mengikut jantina dan mengira bilangan orang dalam setiap kumpulan:

SELECT gender, COUNT(*) AS count FROM users GROUP BY gender;

akan mengeluarkan data statistik untuk setiap jantina, contohnya, "Perempuan" mempunyai 1 orang, "Lelaki" Ada 2 orang menunggu.

Ringkasan

Artikel ini memperkenalkan cara menggunakan MySQL untuk transformasi data, termasuk import dan eksport data, jenis data dan pembersihan data. Menguasai kemahiran ini boleh membantu meningkatkan kecekapan dan ketepatan analisis data. Dalam aplikasi praktikal, terutamanya apabila memproses data berskala besar, kita perlu memilih jenis data, kaedah transformasi dan strategi pembersihan dengan teliti untuk memastikan keputusan analisis data adalah tepat dan boleh dipercayai.

Atas ialah kandungan terperinci penukaran data mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn