% SQL % SQL.OPEN- открывает (или создает) базу данных % SQL.DROP_TABLE- удаляет таблицу из базы данных % SQL.NEW_TABLE- создает новую таблицу % SQL.INSERT- вставляет новую строку в таблицу % SQL.QUERY- определяет правила запроса данных из таблицы в указатель kyrsor % SQL.NEXT- извлекает данные из таблицы в соответствии с указателем kyrsor % SQL.QUERY.LENGTH- определяет количество записей % SQL.UPDATE- изменяет значения столбцов нужных нам строк % SQL.DELETE- удаляет строки % SQL.QUERY.POSITION- определяет номер считанной строки % SQL.CLOSE- закрывает базу данных SQL.OPEN baza, ":memory:" % ":memory:"- в оперативной памяти, "база.db"- на карте памяти c1$= "имя": c2$= "фамилия": c3$= "место_работы": c4$= "год_рождения" v1$= "Вася": v2$= "Пупкин": v3$= "директор": v4$= "1965" p1$= "Петя": p2$= "Табуреткин": p3$= "рабочий": p4$= "1980" f1$= "Фекла": f2$= "Швабрина": f3$= "секретарша": f4$= "1985" n1$= "Вася": n2$= "Огурцов": n3$= "зав. хоз.": n4$= "1965" % SQL.DROP_TABLE baza, "tablica" очищает базу данных от таблицы "tablica" SQL.NEW_TABLE baza, "tablica", c1$, c2$, c3$, c4$ SQL.INSERT baza, "tablica", c1$,v1$, c2$,v2$, c3$,v3$, c4$,v4$ SQL.INSERT baza, "tablica", c1$,p1$, c2$,p2$, c3$,p3$, c4$,p4$ SQL.INSERT baza, "tablica", c1$,f1$, c2$,f2$, c3$,f3$, c4$,f4$ SQL.INSERT baza, "tablica", c1$,n1$, c2$,n2$, c3$,n3$, c4$,n4$ ? "==== пример 1 ====" % выведем всю таблицу на экран SQL.QUERY kyrsor, baza, "tablica", "_id,"+"имя"+","+"фамилия"+","+"место_работы" do SQL.NEXT a, kyrsor, id$, imia$, familia$, mesto$ if a= 0 then print id$+ " "+ imia$+ " "+ familia$+ " "+ mesto$ until a>0 pause 1300 ? ? "==== пример 2 ====" % выведем на экран только нужные строки. Условие нужности определим в vibor$ % определим количество найденных нужных строк vibor$= "имя = 'Вася' AND год_рождения = '1965'" SQL.QUERY kyrsor, baza, "tablica", "имя"+","+"место_работы", vibor$, "место_работы DESC" SQL.QUERY.LENGTH kolichestvo, kyrsor do sql.next a, kyrsor, imia$, mesto$ if a= 0 then ? imia$+ " "+ mesto$ until a>0 ? kolichestvo; " - количество найденных нужных записей" pause 1300 ? ? "==== пример 3 ====" % обновим строку Фекла Швабрина- новой секретаршей :) % уволим всех Васей, 1965 г.р. по условию vibor$, созданному в примере 2 yslovie$= "место_работы = 'секретарша'" n1$= "Клава": n2$= "Печкина" SQL.UPDATE baza, "tablica", c1$,n1$, c2$,n2$: yslovie$ % двоеточие обязятельно SQL.DELETE baza, "tablica", vibor$, ydal sql.query kyrsor, baza, "tablica", "_id,"+"имя"+","+"фамилия"+","+"место_работы" do sql.next a, kyrsor, id$, imia$, familia$, mesto$ if a= 0 then print id$+ " "+ imia$+ " "+ familia$+ " "+ mesto$ if a= 0 then SQL.QUERY.POSITION pozitia, kyrsor until a>0 ? ydal; " -количество уволенных" ? pozitia; " -номер последней считанной строчки. Команда SQL.QUERY.POSITION" SQL.CLOSE baza % SQL.OPEN -открывает базу данных для доступа. Если базы данных не существует- она % будет создана % SQL.OPEN nazvanie, ":memory:" -база будет создана в оперативной памяти % SQL.OPEN nazvanie, "тут указать путь.db" -на карте памяти % SQL.DROP_TABLE -удаляет таблицу из базы данных % SQL.NEW_TABLE -создает новую таблицу. В базе данных может быть множество таблиц % SQL.NEW_TABLE baza, "имя таблицы", имя столбца1$, имя столбца2$, имя 3 и т.д.$ % бейсик всегда к таблице добавляет столбец "_id"- в нем порядковый номер строки % если были удалены какие-то строки, то за ними все равно сохраняется их "_id" % то есть, у нас в базе было допустим 100 записей. 50 удалили и добавили новых % новым строкам будут даваться "_id"- 101, 102, 103 и т.д., строка удаляется, ее % "_id" все равно остается % SQL.INSERT -добавляет новую строку в таблицу % SQL.INSERT baza, "таблица", имя столбца1$,"данные", имя столбца2$,"данные" и т.д. % SQL.QUERY -определяет правила запроса данных из таблицы в указатель kyrsor % SQL.QUERY kyrsor, baza, "tablica", "имя"+","+"место_работы", vibor$, "место_работы DESC" % kyrsor -метка созданного нами правила работы с таблицей (какие столбцы, строки % считывать, какие нет и т.д.) % меток kyrsor может быть сколько угодно % "имя"+","+"место_работы" -список нужных нам столбцов % запятая в кавычках обязательна, нижнее подчеркивание вместо пробела обязятельно % vibor$ -условие, по которому будем возвращать строки % например: vibor$= "имя = 'Вася' AND год_рождения = '1965'" % возвратятся только строки с Васями 1965 г.р. % значения столбцов 'Вася', '1965' в одинарных кавычках % внимательно везде смотрим синтаксис % "место_работы ASC" -по столбцу "место_работы" строки будут выводиться в алфавит- % ном порядке от A до Z % если "место_работы DESC" от Z до A % SQL.NEXT -извлекает данные из таблицы в соответствии с указателем kyrsor % SQL.NEXT a, kyrsor, id$, imia$, familia$, mesto$ % a -переменная, когда последняя строка прочитана =1 % в id$, imia$, familia$, mesto$ заносятся данные из строк в соответствии с % правилом, обозначенным в kyrsor % после выполнения команды, если извлекать из таблицы уже нечего, kyrsor обну- % ляется % SQL.QUERY.LENGTH -определяет количество возвращаемых записей с учетом kyrsor % эта команда не может быть использована после считывания всех данных, т.к. % kyrsor обнуляется % SQL.UPDATE -изменяет значения столбцов нужной нам строки % SQL.UPDATE baza, "tablica", c1$,n1$, c2$,n2$: yslovie$ % c1$ -столбец, n1$изменяемое значение % yslovie$= "место_работы = 'секретарша'" % в строке с секретаршей заменим 2 значения в столбцах c1$ и c2$ % :двоеточие обязательно % SQL.DELETE -удаляет строки % SQL.DELETE baza, "tablica", vibor$, ydal % vibor$- условие удаления, например: % vibor$= "имя = 'Вася' AND год_рождения = '1965'"- будут удалены все Васи 1965 г.р. % ydal- переменная, в которую определяется количество удаленных строк % SQL.QUERY.POSITION- определяет номер считанной строки % SQL.POSITION pozitia, kyrsor % pozitia -номер считанной строки из определенного kyrsor-ом (не всей таблицы!) % команда не будет работать, если kyrsor обнулился % SQL.CLOSE -закрывает базу данных % ее название в бейсике может использоваться для открытия новой базы % незакрытая база может уменьшить объем памяти андроида