sqlite3 table
numaralı telefondan reordering columns
için bu kolay değil gibi görünüyor. En az firefox
numaralı telefondan sqlite manager
bu özelliği desteklemiyor. Örneğin, sütun 2'yi sütun3'e taşıyın ve sütun5'i sütun2'ye taşıyın. Bir sqlite yönetim yazılımı veya bir komut dosyasıyla sqlite tablosundaki sütunları yeniden sıralamak için bir yol var mı? Teşekkürler. Eğer SELECT deyiminde istediğiniz ancakSqlite3: bir tablodaki sütunları yeniden sıralamak nasıl?
cevap
Bu, herhangi bir DBMS'de önemsiz bir görev değildir. İstediğiniz sırayla yeni bir tablo oluşturmak ve verilerinizi bir tablodan siparişe taşımak zorunda kalacaksınız. Sütunları yeniden sıralamak için bir tablo ifadesi yoktur, bu nedenle sqlite yöneticisi veya başka bir yerde, bunu aynı tabloda yapmanın bir yolunu bulamazsınız. Gerçekten sırasını değiştirmek istiyorsanız
, bunu yapabilirsiniz:
Eğer tableA var varsayarsak:
: sütunlar istediğiniz şekilde sıralanmış olan bir TABLEB yaratabilecekcreate table tableA(
col1 int,
col3 int,
col2 int);
create table tableB(
col1 int,
col2 int,
col3 int);
sonra tableA TABLEB veri taşımak:
insert into tableB
SELECT col1,col2,col3
FROM tableA;
Sonra orijinal tableA kaldırıp TABLEB TABLEA için yeniden adlandırın: sqlite3 içinde
DROP table tableA;
ALTER TABLE tableB RENAME TO tableA;
Bunu, sütunları her zaman sipariş edebilirsiniz:
SELECT column1,column5,column2,column3,column4
FROM mytable
WHERE ...
Sen gerekmez tabloda kendisinde "düzen" onları etmek.
Verilerin birinden diğerine kopyalanabilmesi için 2 tablo şemasının eşleştirilmesi gerekir. Sqlite3 içe aktarma, kopyalama sırasında sütuna uymuyor. Yani, örneğin sütun sütununda tamsayı sütunuyla sonuçlanırız. – user938363
sipariş önemi var. Kavramsal olarak, bu olmamalı, ama öyle olduğunu kanıtlamak için bu denemeyi:
CREATE TABLE SomeItems (identifier INTEGER PRIMARY KEY NOT NULL, filename TEXT NOT NULL, path TEXT NOT NULL, filesize INTEGER NOT NULL, thumbnail BLOB, pickedStatus INTEGER NOT NULL, deepScanStatus INTEGER NOT NULL, basicScanStatus INTEGER NOT NULL, frameQuanta INTEGER, tcFlag INTEGER, frameStart INTEGER, creationTime INTEGER);
küçük küçük jpeg yaklaşık 20.000 kayıtlarıyla tabloyu doldurun. Sonra böyle sorgularının birkaç yapın:
time sqlite3 Catalog.db 'select count(*) from SomeItems where filesize = 2;'
time sqlite3 Catalog.db 'select count(*) from SomeItems where basicscanstatus = 2;'
döndürülür kaç kaydın önemli değil, benim makinede, birinci sorgu 0m0.008s sürer ve ikinci sorgu 0m0.942s sürer. Büyük fark ve nedeni Blob'un sebebi; dosyalama Blob ve basicscanstatus sonradır.
Artık Bloğu kendi masasına taşıdık ve uygulamamız mutlu.
Bu, tüm soruya cevap vermese de çok ilginç. – sapht
Doğru. Filipe Silva'nın cevabı soruya cevap veriyor.Cevabım, bunun neden yapılması gerektiği konusunda daha fazlaydı, yani soruyu doğrular. Bunu yapmak zorundaydık ve düzeni değiştirmek için önemsiz bir yol yoktu, bu yüzden ikinci bir tablo oluşturduk ve bu tablodaki yavaş sütunu oluşturduk. Bu bizim için performans açısından büyük bir fark yarattı. – user8353681
- 1. Bir semantik-u yığınlanabilir ızgarada sütunları yeniden sıralamak
- 2. Beyaz boşlukları kaldırarak bir tablodaki tüm sütunları yeniden adlandırma
- 3. Glyphicon Sütunları sıralamak için yardım okları
- 4. laravel4 pivot tablodaki ek sütunları güncelleştirin
- 5. ToolStrip öğelerini kodda yeniden sıralamak nasıl yapılır?
- 6. Html tablo sütunları nasıl yeniden boyutlandırılır?
- 7. C# içinde BindingList içindeki öğeleri yeniden sıralamak?
- 8. Zurb Foundation'da Sütunları Yeniden Düzenle
- 9. Bir SQLite3 sorgusu nasıl en iyileştirilir?
- 10. Sqlite3
- 11. DataGridView'da Sütunları Düzenle
- 12. sqlite3
- 13. Tablodaki bir sütundan farklı değerler nasıl seçilir?
- 14. sqlite3
- 15. Python - veri çerçevesine matris, sütunları yeniden adlandır
- 16. sqlite3.Cursor'ı nasıl alayım
- 17. NodeView kullanarak yeniden boyutlandırılabilir ve sıralanabilir sütunları nasıl alabilirim?
- 18. Toplama sütunları nasıl adlandırılır?
- 19. Varolan verilerdeki kimlik sütunları nasıl yeniden verilir/değiştirilir
- 20. Belirli bir satırdaki değerlere göre sütunları yeniden sıralar.
- 21. sqlite3 veritabanındaki bir dizeden karakterleri nasıl kaldırılır?
- 22. Python'da bir sqlite3 veritabanı nasıl açılır?
- 23. Python sqlite3,
- 24. sıralamak için nasıl HashMap tuşları
- 25. Bir tablodaki sütunları, satır ekleme işleminden önce başka bir tablonun biçimlendirmesiyle eşleşecek şekilde kaydırın
- 26. SQLite3 ve sonuçların
- 27. Kaygan 2 - Bir tablodaki sütunları güncelleştirin ve tüm tablo nesnesini döndürün
- 28. add_filter hataya neden olan tek ürün sekmelerini yeniden sıralamak için
- 29. MS SQL Server'da sütunları silme
- 30. Php 7 nasıl çözülür Sqlite3?
Yukarıdaki tabelB'ye ekleme komutu için, kimliği de korur mu? Tabloda olduğu gibi aynı kimliğe sahip yeni bir tabloya ihtiyacımız var. – user938363
Elbette. Bu sütunlardan biri id ise, yeni tabloya taşınacaktır. –
@FilipeSilva Kimlik sütunu AUTOINCREMENT olarak ayarlanmışsa ne olur? – pavitran