bitsCN.com
mysql-merge合并表
[sql]
注意:
1 每个子表的结构必须一致,主表和子表的结构需要一致,
2 每个子表的索引在merge表中都会存在,所以在merge表中不能根据该索引进行唯一性检索。
3 子表需要是MyISAM引擎
4 AUTO_INCREMENT 不会按照你所期望的方式工作。
建表语句
create table tablename(正常的字段)engine=merge insert_method=last
insert_method:
有两个值如下:
LAST 如果你执行insert 指令来操作merge表时,插入操作会把数据添加到最后一个子表中。
FIRST 同理,执行插入数据时会把数据添加到第一个子表中。
例子:
create table user1( id int(10) not null auto_increment, name varchar(50), sex int(1), primary key(id) )engine=myisam charset=utf8; create table user2( id int(10) not null auto_increment, name varchar(50), sex int(10) ,primary key(id) )engine=myisam charset=utf8; insert into user1 (name,sex) values('张三',0); insert into user2 (name,sex) values('lisi',1); mysql> select * from user1; +----+------+------+ | id | name | sex | +----+------+------+ | 1 | 张三 | 0 | +----+------+------+ mysql> select * from user2; +----+------+------+ | id | name | sex | +----+------+------+ | 1 | lisi | 1 | +----+------+------+ create table alluser( id int(10) not null auto_increment, name varchar(50), sex int(10), index(id) )type=merge union=(user1,user2) insert_method=last; mysql> select * from alluser; +----+------+------+ | id | name | sex | +----+------+------+ | 1 | 张三 | 0 | | 1 | lisi | 1 | +----+------+------+ mysql> insert into alluser(name,sex) values('嘿嘿',0); mysql> select * from user1; +----+------+------+ | id | name | sex | +----+------+------+ | 1 | 张三 | 0 | +----+------+------+ 1 row in set (0.00 sec) mysql> select * from user2; +----+------+------+ | id | name | sex | +----+------+------+ | 1 | lisi | 1 | | 2 | 嘿嘿 | 0 | +----+------+------+
2 rows in set (0.00 sec)
//他把这条数据存入了user2表里是因为我们的insert_method的参数填写的是last
mysql> update alluser set sex=replace(sex,0,1) where id=2; +----+------+------+ | id | name | sex | +----+------+------+ | 1 | 张三 | 0 | | 1 | lisi | 1 | | 2 | 嘿嘿 | 1 | +----+------+------+
bitsCN.com

Mysqldiffersfromothersqldialectsyntaxforlimit, auto-increment, stringcomparison, subqueries, andperformanceanalysis.1) mySqlusSlimit, whilesqlserverestopandoracleusesusesrownum.2)

Pemisahan MySQL meningkatkan prestasi dan memudahkan penyelenggaraan. 1) Bahagikan jadual besar ke dalam kepingan kecil dengan kriteria tertentu (seperti julat tarikh), 2) secara fizikal membahagikan data ke dalam fail bebas, 3) MystQL boleh memberi tumpuan kepada partisi yang berkaitan apabila pertanyaan, 4) Pengoptimal pertanyaan boleh melangkau partisi yang tidak berkaitan, 5) Memilih strategi partisi yang tepat dan mengekalkannya secara tetap adalah kunci.

Bagaimana untuk memberikan dan membatalkan keizinan di MySQL? 1. Gunakan pernyataan geran untuk memberikan kebenaran, seperti GrantallPrivileGeSondatabase_name.to'username'@'host '; 2. Gunakan pernyataan membatalkan untuk membatalkan kebenaran, seperti RevokeAllPrivileGeSondatabase_name.from'username'@'host 'untuk memastikan komunikasi tepat pada masanya perubahan kebenaran.

InnoDB sesuai untuk aplikasi yang memerlukan sokongan transaksi dan kesesuaian yang tinggi, sementara myisam sesuai untuk aplikasi yang memerlukan lebih banyak bacaan dan kurang menulis. 1.InnoDB menyokong kunci transaksi dan peringkat bank, sesuai untuk sistem e-dagang dan perbankan. 2.Myisam menyediakan bacaan dan pengindeksan yang cepat, sesuai untuk sistem pengurusan blog dan kandungan.

Terdapat empat jenis utama dalam MySQL: innerjoin, leftjoin, rightjoin dan fullouterjoin. 1.InnerJoin Mengembalikan semua baris dalam dua jadual yang memenuhi syarat gabungan. 2.LeftJoin Mengembalikan semua baris di meja kiri, walaupun tidak ada baris yang sepadan di meja yang betul. 3. Rightjoin bertentangan dengan leftjoin dan mengembalikan semua baris di meja kanan. 4.FullouterJoin Mengembalikan semua baris dalam dua jadual yang memenuhi atau tidak memenuhi syarat gabungan.

MysqloffersvariousstorageEngines, eachSuitedfordifferentusecases: 1) innodbisidealforapplicationsNeedingacidcomplianceandhighconcurrency, supportingtransactionsandforeignkeys.2) myisamisbestforread-heavyworkloads, lacktransactive.2)

Kelemahan keselamatan biasa dalam MySQL termasuk suntikan SQL, kata laluan yang lemah, konfigurasi kebenaran yang tidak betul, dan perisian yang tidak dimulakan. 1. Suntikan SQL boleh dicegah dengan menggunakan pernyataan pra -proses. 2. Kata laluan yang lemah boleh dielakkan dengan secara paksa menggunakan strategi kata laluan yang kuat. 3. 4. Perisian yang tidak ditetapkan boleh ditampal dengan kerap memeriksa dan mengemas kini versi MySQL.

Mengenal pasti pertanyaan perlahan dalam MySQL boleh dicapai dengan membolehkan log pertanyaan perlahan dan menetapkan ambang. 1. Dayakan log pertanyaan perlahan dan tetapkan ambang. 2. Lihat dan menganalisis fail log pertanyaan perlahan, dan gunakan alat seperti mysqldumpslow atau pt-que-digest untuk analisis mendalam. 3. Mengoptimumkan pertanyaan perlahan dapat dicapai melalui pengoptimuman indeks, penulisan pertanyaan dan mengelakkan penggunaan pilih*.


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Pelayar Peperiksaan Selamat
Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

VSCode Windows 64-bit Muat Turun
Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft

Muat turun versi mac editor Atom
Editor sumber terbuka yang paling popular

SublimeText3 versi Inggeris
Disyorkan: Versi Win, menyokong gesaan kod!
