Вверх ↑
Этот топик читают: Гость
Разработчик
Ответов: 26113
Рейтинг: 2126
#781: 2011-10-10 16:57:23 ЛС | профиль | цитата
Tad писал(а):
Посмотри внимательно на диаграмму insert

Насколько я понял из описания
For compatibility with MySQL, the parser allows the use of the single keyword REPLACE as an alias for "INSERT OR REPLACE"

Это сделано для совместимости с MySQL, но в стандарте про REPLACE ничего нет
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#782: 2011-10-10 19:36:07 ЛС | профиль | цитата
nesco писал(а):
Это сделано для совместимости с MySQL, но в стандарте про REPLACE ничего нет
Какая разница, для чего это сделано ? И в каком стандарте про REPLACE ничего нет ?
В SQLite есть ? Есть. Кстати, тема про SQLite
Работает ? Работает.
Ну и пользуйся на здоровье. Не хочешь - не пользуйся.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26113
Рейтинг: 2126
#783: 2011-10-10 19:49:32 ЛС | профиль | цитата
Tad писал(а):
Есть. Кстати, тема про SQLite

Надо же выявить все "за" и "против"
------------ Дoбавленo в 19.49:
Tad писал(а):
И в каком стандарте про REPLACE ничего нет ?

Соскок с темы обсуждения защитан
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#784: 2011-10-10 22:59:40 ЛС | профиль | цитата


------------ Дoбавленo в 22.36:
Вернемся к hitman249
hitman249 писал(а):
Tad, кстате о нумерации.
Ну вот
INSERT INTO "jz" VALUES('index','text');
наинзертил я строчек 20, потом взял наугад любую строчку удалил, что с колонкой index теперь делать чтобы восстановить порядок нумерации?

1. Нужно посмотреть на твоё CREATE TABLE
------------ Дoбавленo в 22.59:
nesco, о птичках (про ROWID):
Создаём табличку
CREATE TABLE tab(id INTEGER PRIMARY KEY, name TEXT);
/* и заносим несколько записей */
INSERT INTO tab values(NULL,'qwert');
INSERT INTO tab values(NULL,'asdfg');
INSERT INTO tab values(NULL,'zxcvb');
потом
SELECT * FROM tab;
Получаем:
1 qwert
2 asdfg
3 zxcvb
DELETE FROM tab WHERE id=2;
SELECT * FROM tab;
Получаем:
1 qwert
3 zxcvb
INSERT INTO tab(rowid,name) values(2,'ASDFG');
Даже ругаться не будет потому, что id INTEGER PRIMARY KEY - это никто. Просто псевдоним ROWID.




карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26113
Рейтинг: 2126
#785: 2011-10-11 00:31:11 ЛС | профиль | цитата
Tad, я ничего против rowid не имею. Но тут надо учитывать только то, что rowid присущ только реляционным базам данных, там где есть физический идентификатор элемента. Для псевдо баз данных, к которым можно отнести, к примеру, *.csv, он не прокатит, что заставляет, все же, иметь представление о действительном назначении rowid и возможностях его применения
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#786: 2011-10-11 12:01:03 ЛС | профиль | цитата
nesco писал(а):
я ничего против rowid не имею.
А что можно против него иметь, если это самый главный компонент в любой БД ? А то, что в SQLite можно к нему обратиться "напрямую", а не только через <имя>, определенное словосочетанием INTEGER PRIMARY KEY, только один из плюсов SQLite.
nesco, дальше не для тебя, а для начинающих применять SQLite в своих разработках.
======================================================
Создание таблицы для SQLite подобным выражением:
CREATE TABLE elements(id INTEGER PRIMARY KEY AUTOINCREMENT,name varchar(64),info varchar(64),tab int,pos int,hash varchar(32))
это, как говорит nesco, полный пипец.
И если ещё на AUTOINCREMENT можно закрыть глаза, то varchar(64) в SQLite полный абсурд.

типы данных в SQLite. Подробно здесь-> [url
http://xbb.uz/db/Tipy-dannyh-v-SQLite-versii-3[/url]]Чтобы избежать путаницы для типов данных полей таблиц лучше использовать базовые типы данных SQLite, которых всего четыре.

INTEGER - Числовой тип данных (целые положительные или отрицательные числа).
для компактности SQLite автоматически изменяет размер данного типа данных в зависимости от значения данных.

REAL - Числовой тип данных имеющий размер 8 байтов и может хранить как целые, так и дробные числа.

TEXT - Текстовый тип данных который может хранить текстовые строки произвольной длины в кодировке UTF-8 или UTF-16. Максимальная длина строки для данного типа данных не лимитирована. Этот же тип данных используется для хранения даты и времени (в символьном отображении).

BLOB - Тип данных для хранения двоичных объектов. Максимальный размер данных данного типа не лимитирован.
Почему ?
Потому, что в начале каждой записи(строки) (ГРУБО!)SQLite кодирует и записывает служебную информацию:код таблицы в БД, Номер строки, смещение начала данных а строке, фактические размеры данных каждой колонки и т.д, поэтому данные в записи идут без разделителей.
И только поэтому, например, запрос:
SELECT * FROM tab WHERE name='Вася'; будет выполнен намного быстрее, чем
SELECT * FROM tab WHERE name LIKE '%Вася%'; (тут и такие шедевры мелькали ) потому, что
в первом случае перебирается только служебная информация записи и ищется - где name имеет длину в четыре знака и только потом сравнивается,
во втором случае перебираются и сравниваются все записи таблицы + обида на весь мир с криком "Тормозит!".
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 1328
Рейтинг: 69
#787: 2011-10-17 17:52:30 ЛС | профиль | цитата
Alexbootch, выложи Грубера куда нибудь плс - ссылка в 1м посте битая
карма: 2

0
Ответов: 16884
Рейтинг: 1239
#788: 2011-10-17 18:07:42 ЛС | профиль | цитата
Выше я. Konst, извини, ерунда какая-то по этой ссылке.

Кто с правами, удалите пост с сылкой.
Konst, вот выложил на файлообменник, но там как и на форуме, х.з. что творится
http://forum.hiasm.com/forum_serv.php?q=56&id=2699
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 1328
Рейтинг: 69
#789: 2011-10-17 18:48:46 ЛС | профиль | цитата
Tad, не не качается

вот нашел ссылку http://www.mista.ru/bd/understanding_sql.rar

и еще много книг по теме http://forum.vingrad.ru/topic-33940.html
карма: 2

0
Гость
Ответов: 17029
Рейтинг: 0
#790: 2011-10-19 23:16:16 правка | ЛС | профиль | цитата


Редактировалось 3 раз(а), последний 2022-04-03 00:57:51
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#791: 2011-10-19 23:31:08 ЛС | профиль | цитата
http://www.fayloobmennik.net/1086375
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Гость
Ответов: 17029
Рейтинг: 0
#792: 2011-10-19 23:32:26 правка | ЛС | профиль | цитата


Редактировалось 3 раз(а), последний 2022-04-03 00:57:50
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#793: 2011-10-19 23:33:30 ЛС | профиль | цитата
Перезалил на сторонний.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Гость
Ответов: 17029
Рейтинг: 0
#794: 2011-10-19 23:42:35 правка | ЛС | профиль | цитата


Редактировалось 3 раз(а), последний 2022-04-03 00:57:50
карма: 0

0
Гость
Ответов: 17029
Рейтинг: 0
#795: 2011-10-20 00:03:58 правка | ЛС | профиль | цитата


Редактировалось 3 раз(а), последний 2022-04-03 00:57:50
карма: 0

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)