Cara mengatur beberapa nilai di mysql

Untuk memahami sintaks di atas, mari kita buat sebuah tabel. Berikut ini adalah kueri untuk membuat tabel −

mysql> create table selectMultipleValues
−> (
−> BookId int,
−> BookName varchar(200)
−> );
Query OK, 0 rows affected (1.68 sec)

Sekarang Anda dapat menyisipkan beberapa record dalam tabel dengan bantuan perintah insert. Permintaan untuk memasukkan catatan adalah sebagai berikut -


Untuk ini, Anda dapat menggunakan UNION ALL. Mari kita buat tabel − terlebih dahulu

mysql> create table DemoTable1987
   (
   UserValue int
   );
Query OK, 0 rows affected (2.90 sec)
_

Masukkan beberapa record ke dalam tabel menggunakan perintah insert −

mysql> insert into DemoTable1987 values(4);
Query OK, 1 row affected (0.22 sec)
mysql> insert into DemoTable1987 values(5);
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable1987 values(6);
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable1987 values(7);
Query OK, 1 row affected (0.09 sec)

Tampilkan semua catatan dari tabel menggunakan pernyataan pilih −

mysql> select * from DemoTable1987;

Ini akan menghasilkan output berikut -

+-----------+
| UserValue |
+-----------+
|         4 |
|         5 |
|         6 |
|         7 |
+-----------+
4 rows in set (0.00 sec)
_

Berikut adalah kueri untuk menetapkan beberapa nilai untuk kolom khusus −

mysql> select UserValue,(UserValue*100) as NewValue from DemoTable1987
     union all
     select UserValue,(UserValue*50) as NewValue from DemoTable1987
     order by UserValue;

Ini akan menghasilkan output berikut -

+-----------+----------+
| UserValue | NewValue |
+-----------+----------+
|         4 |      400 |
|         4 |      200 |
|         5 |      500 |
|         5 |      250 |
|         6 |      300 |
|         6 |      600 |
|         7 |      350 |
|         7 |      700 |
+-----------+----------+
8 rows in set (0.14 sec)
_

Cara mengatur beberapa nilai di mysql


Cara mengatur beberapa nilai di mysql

Anda memiliki tabel siswa dengan id, score1, dan score2 seperti ini, di mana id adalah kunci utama

idscore1score211092833106448

Dan inilah tabel data baru yang ingin Anda perbarui

idscore1score215821083834107

Ada beberapa cara untuk melakukannya


1. Anda dapat menulis beberapa kueri UPDATE seperti ini dan menjalankannya sekaligus

UPDATE students SET score1 = 5, score2 = 8 WHERE id = 1;
UPDATE students SET score1 = 10, score2 = 8 WHERE id = 2;
UPDATE students SET score1 = 8, score2 = 3 WHERE id = 3;
UPDATE students SET score1 = 10, score2 = 7 WHERE id = 4;

2. Atau Anda dapat MEMPERBARUI dengan pernyataan GABUNG

UPDATE students s
JOIN (
    SELECT 1 as id, 5 as new_score1, 8 as new_score2
    UNION ALL
    SELECT 2, 10, 8
    UNION ALL
    SELECT 3, 8, 3
    UNION ALL
    SELECT 4, 10, 7
) vals ON s.id = vals.id
SET score1 = new_score1, score2 = new_score2;
_

3. Atau Anda dapat menggunakan INSERT .. ON DUPLICATE KEY UPDATE

INSERT INTO students 
    (id, score1, score2)
    VALUES 
        (1, 5, 8),
        (2, 10, 8),
        (3, 8, 3),
        (4, 10, 7)
    ON DUPLICATE KEY UPDATE 
        score1 = VALUES(score1),
    score2 = VALUES(score2);
_


Butuh Alat GUI yang bagus untuk MySQL? . 


Terkadang Anda mungkin perlu memperbarui banyak kolom di MySQL. Pada artikel ini kita akan melihat cara memperbarui banyak kolom di MySQL dengan satu kueri


Cara Memperbarui Banyak Kolom di MySQL

Berikut adalah langkah-langkah untuk memperbarui banyak kolom di MySQL

Pernyataan UPDATE memungkinkan Anda untuk memperbarui satu atau lebih nilai di MySQL. Berikut adalah sintaks untuk memperbarui beberapa nilai sekaligus menggunakan pernyataan UPDATE

UPDATE [LOW_PRIORITY] [IGNORE] table_name
SET
column_name1 = expr1,
column_name2 = expr2,
…
[WHERE condition];

Dalam pernyataan di atas, Anda perlu menentukan nama_tabel, lalu menyebutkan kolom yang ingin Anda perbarui, beserta nilai barunya, satu demi satu, dipisahkan dengan koma. Terakhir, Anda perlu menentukan klausa WHERE secara opsional untuk memfilter baris yang ingin Anda perbarui

NameDescriptiontable_reference(s)Nama tabel yang akan diperbarui. kolom_nama1, kolom_nama2,. Nama kolom yang akan diperbarui. ekspr1, ekspr2,. Nilai baru


  • Untuk satu tabel, pernyataan UPDATE memperbarui kolom dari baris yang ada di tabel bernama dengan nilai baru. Kolom tertentu dapat dimodifikasi menggunakan klausa SET dengan memberikan nilai baru untuk kolom tersebut
  • Klausa WHERE dapat digunakan untuk menentukan kondisi yang mengidentifikasi baris mana yang akan diperbarui. Tanpa menggunakan klausa WHERE, semua baris diperbarui
  • Klausa ORDER BY digunakan untuk memperbarui urutan yang sudah ditentukan
  • Klausa LIMIT menentukan batas jumlah baris yang dapat diperbarui
  • Untuk banyak tabel, UPDATE memperbarui baris di setiap tabel yang dinamai dalam table_references yang memenuhi ketentuan. Dalam hal ini, ORDER BY dan LIMIT tidak dapat digunakan

Pernyataan UPDATE mendukung pengubah berikut

  • PRIORITAS RENDAH. Menggunakan kata kunci LOW_PRIORITY, eksekusi UPDATE ditunda hingga tidak ada klien lain yang membaca dari tabel. Ini hanya memengaruhi mesin penyimpanan yang hanya menggunakan penguncian tingkat tabel (seperti MyISAM, MEMORY, dan MERGE)
  • MENGABAIKAN. Menggunakan kata kunci IGNORE, pernyataan pembaruan tidak dibatalkan meskipun kesalahan terjadi selama pembaruan. Baris yang menyebabkan konflik kunci duplikat tidak diperbarui. Baris yang kolomnya diperbarui ke nilai yang akan menyebabkan kesalahan konversi data, malah diperbarui ke nilai valid terdekat

Berikut adalah beberapa contoh pada pembaruan MySQL di mana kami menggunakan newpurchase sebagai tabel sampel

Tabel sampel. pembelian baru


Kolom PEMBARUAN MySQL

Kolom MySQL UPDATE dapat digunakan untuk memperbarui beberapa kolom tertentu. Pernyataan MySQL berikut akan memperbarui kolom 'receive_qty' dari tabel pembelian baru dengan nilai baru 20

UPDATE newpurchase SET receive_qty=20;

UPDATE MySQL dengan WHERE

Perintah MySQL UPDATE dapat digunakan dengan klausa WHERE untuk memfilter (terhadap kondisi tertentu) baris mana yang akan diperbarui. Pernyataan MySQL berikut akan memperbarui kolom 'receive_qty' dari tabel pembelian baru dengan nilai baru 25 jika nilai harga_beli lebih dari 50

UPDATE newpurchase 
SET receive_qty=25 
WHERE purch_price>50;

PEMBARUAN MySQL menggunakan NULL

Perintah MySQL UPDATE dapat digunakan untuk memperbarui nilai kolom menjadi NULL dengan mengatur nama_kolom = NULL, di mana nama_kolom adalah nama kolom yang akan diperbarui. Pernyataan MySQL berikut akan memperbarui kolom pub_lang dengan NULL jika harga_beli lebih dari 50. Dalam pernyataan ini, kolom lain juga diperbarui dengan masing-masing nilai baru

UPDATE newpurchase 	
SET receive_qty=20,pub_lang='Hindi',pub_lang=NULL 
WHERE purch_price>50;

MySQL UPDATE beberapa kolom

Perintah MySQL UPDATE dapat digunakan untuk memperbarui beberapa kolom dengan menentukan daftar kolom_name yang dipisahkan koma = nilai_baru. Di mana nama_kolom adalah nama kolom yang akan diperbarui dan nilai_baru adalah nilai baru yang akan digunakan untuk memperbarui kolom. Pernyataan MySQL berikut akan memperbarui kolom accept_qty, pub_lang, dan accept_dt dengan nilai baru 20, Hindi, dan 2008-07-10 jika harga_beli lebih dari 50

UPDATE newpurchase 
SET receive_qty=20,pub_lang='Hindi',receive_dt='2008-07-10' 
WHERE purch_price>50;

PEMBARUAN MySQL dengan subkueri

Berikut ini, kami telah membahas cara menggunakan perintah MySQL UPDATE dengan subqueries

Pernyataan MySQL berikut akan memperbarui harga_beli dengan harga_harga dikalikan dengan 5 jika memenuhi kondisi yang ditentukan dalam subkueri yang dimulai dengan SELECT yang dibungkus dalam sepasang tanda kurung

Subquery hanya mengambil cate_id dari tabel pembelian jika accept_qty yang sesuai lebih dari 10

UPDATE  newpurchase 
SET purch_price=purch_price*.05
WHERE cate_id IN(SELECT cate_id 
FROM purchase 
WHERE receive_qty>10);

Memperbarui Tabel MySQL menggunakan Skrip PHP

Anda dapat memperbarui data tabel MySQL (menggunakan perintah UPDATE) melalui skrip PHP. Di dalam skrip, fungsi PHP MySQL_query() mengeksekusi perintah SQL. Kami telah menggunakan tabel yang disebut 'item' untuk menerapkan kueri
Nama Tabel. Struktur barang. item_code varchar(20), nilai int(11), kuantitas int(11) di mana kode_item adalah kunci utama. Pada baris tabel item berikut, kolom 'nilai' yang ditandai dengan kotak merah akan diperbarui

Cara mengatur beberapa nilai di mysql

Skrip PHP

 <?php
  $dbhost = 'localhost';
  $dbuser = 'root';
  $dbpass = '';
  $connec = MySQL_connect($dbhost, $dbuser, $dbpass);
  if(!$connec)
  {
  die('Could not connect: ' . MySQL_error());
  }
  $sql = "UPDATE item
  SET value = '112'
  WHERE item_code='item1'";
  MySQL_select_db('MySQL');
  $result = MySQL_query($sql, $connec);
  if(!$result)
  {
  die('Could not update data: ' . MySQL_error());
  }
  echo "Data successfully updated...";
  MySQL_close($connec);
  ?>

Keluaran Sampel

Cara mengatur beberapa nilai di mysql

Banyak Pembaruan di MySQL

Tabel sampel. Tabel 1

Cara mengatur beberapa nilai di mysql

Masalah

Jika Anda ingin memperbarui val1 dengan 5,8 dan 7 untuk id 1,3 dan 4 yang bersangkutan dan val1 lainnya akan tetap sama dan val2 akan diperbarui dengan 13 dan 5 untuk id 2 dan 4 yang bersangkutan dan yang lainnya akan tetap

Kode

UPDATE table1 SET val1= CASE id 
                          WHEN 1 THEN 5 
                          WHEN 3 THEN 8 
                          WHEN 4 THEN 7 
                          ELSE val1
                        END, 
                 val2= CASE id 
                          WHEN 2 THEN 13 
                          WHEN 4 THEN 5 
                          ELSE val2 
                        END
             WHERE id IN (1, 2, 3, 4);

Presentasi bergambar

Cara mengatur beberapa nilai di mysql

Keluaran Sampel

Cara mengatur beberapa nilai di mysql

Contoh. PEMBARUAN MySQL pada banyak tabel

Di sini kita telah menggunakan dua tabel book_mast dan pembelian untuk contoh berikut sebagai tabel sampel. Kami telah menunjukkan beberapa kolom di tabel terkait. Berikut adalah tabel di bawah ini -

MySQL> SELECT book_id,book_name,pub_lang,book_price
    -> FROM book_mast;
+--------+------------------------------------+---------+----------+
| book_id| book_name                          | pub_lang|book_price|
+--------+------------------------------------+---------+----------+
| BK001  | Introduction to Electrodynamics    | English |     85.00| 
| BK002  | Understanding of Steel Construction| English |    105.50| 
| BK003  | Guide to Networking                | Hindi   |    200.00| 
| BK004  | Transfer  of Heat and Mass         | English |    250.00| 
| BK005  | Conceptual Physics                 | NULL    |    145.00| 
| BK006  | Fundamentals of Heat               | German  |    112.00| 
| BK007  | Advanced 3d Graphics               | Hindi   |     56.00| 
| BK008  | Human Anatomy                      | German  |     50.50| 
| BK009  | Mental Health Nursing              | English |    145.00| 
| BK010  | Fundamentals of Thermodynamics     | English |    225.00| 
| BK011  | The Experimental Analysis of Cat   | French  |     95.00| 
| BK012  | The Nature  of World               | English |     88.00| 
| BK013  | Environment a Sustainable Future   | German  |    100.00| 
| BK014  | Concepts in Health                 | NULL    |    180.00| 
| BK015  | Anatomy & Physiology               | Hindi   |    135.00| 
| BK016  | Networks and Telecommunications    | French  |     45.00| 
+--------+------------------------------------+---------+----------+
16 rows in set (0.00 sec)

and 

MySQL> SELECT book_id,pub_lang,purch_price,total_cost
    -> FROM purchase;
+---------+----------+-------------+------------+
| book_id | pub_lang | purch_price | total_cost |
+---------+----------+-------------+------------+
| BK001   | English  |       75.00 |    1125.00 | 
| BK004   | English  |       55.00 |     440.00 | 
| BK005   | NULL     |       20.00 |     400.00 | 
| BK004   | English  |       35.00 |     525.00 | 
| BK001   | English  |       25.00 |     200.00 | 
| BK003   | Hindi    |       45.00 |     900.00 | 
+---------+----------+-------------+------------+
6 rows in set (0.02 sec)

Jika kita ingin memperbarui harga_buku dari tabel book_mast dengan kenaikan sebesar 5% dan juga memperbarui harga_beli dan total_biaya dari tabel pembelian dengan kenaikan sebesar 5%, dan kenaikan ini hanya akan memengaruhi baris-baris di tabel book_mast dan pembelian, yang mana

Bagaimana cara mengatur banyak nilai dalam variabel di MySQL?

Berikut ini berfungsi seperti yang diharapkan ketika ada satu nilai yang disimpan dalam variabel. SET @a. = "20100630"; . SET @a. = "'20100630', '20100701'";

Bagaimana cara memilih beberapa nilai MySQL?

Untuk memilih beberapa nilai, Anda dapat menggunakan klausa where dengan operator OR dan IN .

Bagaimana Anda menetapkan beberapa nilai?

Anda dapat menetapkan beberapa nilai ke beberapa variabel dengan memisahkan variabel dan nilai dengan koma ,. Anda dapat menetapkan lebih dari tiga variabel. Dimungkinkan juga untuk menetapkan ke berbagai jenis. Jika ada satu variabel di sisi kiri, itu ditugaskan sebagai tupel.

Bagaimana cara menyimpan banyak nilai dalam satu bidang di MySQL?

Tertaut .
cara memasukkan banyak nilai dalam satu bidang di mysql
PILIH nama Dari tabel gabungan tempat id baris tabel bergabung di set kolom tabel induk
Permintaan pada kolom biner untuk mendapatkan semua hasil sebagai beberapa baris