MySQL & SQL Server
10 отговора
637 прегледа
MySQL & SQL Server
Zdraveite,
az otskoro se interesuvam ot bazi danni.Svalih si ot internet MySQL i veche go porazuchih. Mojete li da mi raziasnite kakva e razlikata mejdu nego i SQL Server (principno). Iskah da si downloadna i SQL Server-a,obache e mnogo goliam i niama smisal. Interesuvam se ima li niakakva savmestimost mejdu dvete spomenati programi, zashtoto zabeliazah che imat razlichia v komandite.
Imam i oshte drugi vaprosi,znam che sa elementarni,no shte sam mnogo blagodaren ako niakoi me osvetli po tezi. Ako mi posochite sait ili kniga otkadeto moga da naucha neshto po tezi vaprosi shte sam vi mnogo zadaljen.
az otskoro se interesuvam ot bazi danni.Svalih si ot internet MySQL i veche go porazuchih. Mojete li da mi raziasnite kakva e razlikata mejdu nego i SQL Server (principno). Iskah da si downloadna i SQL Server-a,obache e mnogo goliam i niama smisal. Interesuvam se ima li niakakva savmestimost mejdu dvete spomenati programi, zashtoto zabeliazah che imat razlichia v komandite.
Imam i oshte drugi vaprosi,znam che sa elementarni,no shte sam mnogo blagodaren ako niakoi me osvetli po tezi. Ako mi posochite sait ili kniga otkadeto moga da naucha neshto po tezi vaprosi shte sam vi mnogo zadaljen.
Re: MySQL & SQL Server
Vseki SQL server si ima razliki zatova i v knigite se govori za SQL-dialekti
Mai nai-dalech ot ANSI SQL-a e Oracle s PLSQL
Inache na MySQL mu lipsvat: sub-queries (oshte narichani nested queries), trigeri, stored procedures
Za smetka na tova e pone 5 pati po burz ot vseki drug SQL server (na edna mashina)
Oficialnia BG mirror e na
mysql.online.bg - http i ftp
t.e. pri men de :) Ta za vaprosi i komentari tuk sam
Linux is like a wigwam - No Windows, No Gates, Apache inside
Mai nai-dalech ot ANSI SQL-a e Oracle s PLSQL
Inache na MySQL mu lipsvat: sub-queries (oshte narichani nested queries), trigeri, stored procedures
Za smetka na tova e pone 5 pati po burz ot vseki drug SQL server (na edna mashina)
Oficialnia BG mirror e na
mysql.online.bg - http i ftp
t.e. pri men de :) Ta za vaprosi i komentari tuk sam
Linux is like a wigwam - No Windows, No Gates, Apache inside
две питанки са
1. в mysql конзолата това работи:
select (@a:=2); select (@b:=@a+5);
обаче като го пратя към mysql-a през собствен клиент ми дава грешката:
"... near '; select (@b:=@a+5)' at line 1"
Toва значи ли, че трябва сам да си парсвам такъв стринг?
2. (по-важното) Относно правата на mysql user-ите:
С тоя nekafuser мога да си селектвам, изтривам и т.н. навсякъде, освен в 'mysql', въпреки че ужким има права само за една таблица? Защо?
show grants for nekafuser@localhost;
НАЙ-добрия клуб ТУК
select (@a:=2); select (@b:=@a+5);
обаче като го пратя към mysql-a през собствен клиент ми дава грешката:
"... near '; select (@b:=@a+5)' at line 1"
Toва значи ли, че трябва сам да си парсвам такъв стринг?
2. (по-важното) Относно правата на mysql user-ите:
С тоя nekafuser мога да си селектвам, изтривам и т.н. навсякъде, освен в 'mysql', въпреки че ужким има права само за една таблица? Защо?
show grants for nekafuser@localhost;
| GRANT USAGE ON *.* TO 'nekafuser'@'localhost' IDENTIFIED BY PASSWORD xxx |
| GRANT SELECT, INSERT, UPDATE, DELETE ON testdb.testtbl TO 'accputter'@'localhost' |
НАЙ-добрия клуб ТУК
Re: MySQL & SQL Server
SALLE, много ти благодаря за отговора, а сега искам да ти задам още няколко въпроса,върху които си блъскам главата:
1.При създаване и работа с бази данни под MySQL имам ли нужда от друг език за програмиране( например Oracle)?
2.Под MySQL съм създавал таблици и малки бази данни( в MSDOS Prompt), но това както и работата с тях става много по-трудно в сравнение примерно с MS ACCESS. Нормално ли е това или аз нещо бъркам?
3.Може ли база данни създадена под MySQL да се ползва от потребител, който не е наясно с програмирането на бази данни(т.е. не може да използва SELECT, UPDATE, DELETE, ADD и т.н.)? Имам предвид дали няма възможност да се използва някакъв по-приветлив интерфейс?
Благодаря ти предварително!
1.При създаване и работа с бази данни под MySQL имам ли нужда от друг език за програмиране( например Oracle)?
2.Под MySQL съм създавал таблици и малки бази данни( в MSDOS Prompt), но това както и работата с тях става много по-трудно в сравнение примерно с MS ACCESS. Нормално ли е това или аз нещо бъркам?
3.Може ли база данни създадена под MySQL да се ползва от потребител, който не е наясно с програмирането на бази данни(т.е. не може да използва SELECT, UPDATE, DELETE, ADD и т.н.)? Имам предвид дали няма възможност да се използва някакъв по-приветлив интерфейс?
Благодаря ти предварително!
Re: MySQL & SQL Server
1. Нито Oracle нито MySQL са езици за програмиране
Като работиш с MS Word пишеш на Български, Английски и т.н. а не на език Word нали :)
И двата както и всеки SQL Server (SQL Server е понятие както и Компютър и не означава САМО MS SQL Server) използват варианти на SQL или Диалекти както им викат ама това вече го писах
Ако се почетеш малко теория, което силно ти препоръчвам SQL всъщност е реализация на ДВА езика за бази данни DDL и DML съответно Data Definition Language и Data Management Language
При всички положения обаче SQL е интерфейсен език между Клиент-а и Сървъра. А под Клиент обикновено се разбира се разбира не човек а програма. Обикновено SQL сървърите се явяват back-end в 3-layer приложения server-middleware-client. Точно както при Web: SQL server (MySQL, Oracle, MSSQL и т.н.) - Web Server(Apache+PHP, Apache+cgi, IIS+APS и т.н.)-Browser
Така, че свикни с мисълта, че от гледна точка на базата данни "Клиент" обикновено е програма
Надявам се, че това отговаря на 3-тия ти въпрос
2. Това е един доста спорен въпрос. Аз лично след години използване на GUI интерфейси и много мишка все по-често предпочитам текстови конзоли и много писане.
Знам, че ще прозвучи странно, но графичните средства за работа с бази данни всъщност СКРИВАТ структурата до голяма степен. Забележи, че имам предвид структурата на приложението а не само таблиците.
3. Още нещо по този въпрос при това изключително важно и доста често пропускано. В теорията на БД се дефинират 3 Модела На Данните - всъщност са 3 Нива
System Model - Къде и как се съхраняват ФИЗИЧЕСКИ данните (Файлове, Дискове ...)
Administrative Model - Истинската структура на данните - всъщност тя е логическа. Таблици, индекси и т.н. Това е, което вижда Администратора на базата данни
User Model - Това което виждат "Клиентите"
Точно тук е препъни-камъка. В много случаи това се пропуска а точно в MySQL има и известни пречки по въпроса. User Model-а МОЖЕ да бъде специфичен за всеки User. Т.е. на всеки User (или група) се предоставя набор от таблици и т.н. който се различава от истинската структура.
Това е Начина По Който User-ite виждат базата данни и той ПО ДЕФИНИЦИЯ е различен. Това, че в много случаи клиентите виждат нещата така както те са е частен случай.
Нарочно наблягам на този факт защото много често се пропуска.
Така, че използването на SELECT и т.н. SQL изобщо не е работа на крайния клиенто а на програмиста.
Последна забележка
SQL НЕ Е ЕЗИК ЗА ПРОГРАМИРАНЕ
Работата с Релационни бази данни е работа с МНОЖЕСТВА и SQL всъщност е дефиниция на ьлгебра за работа с множества
Успех
Linux is like a wigwam - No Windows, No Gates, Apache inside
Като работиш с MS Word пишеш на Български, Английски и т.н. а не на език Word нали :)
И двата както и всеки SQL Server (SQL Server е понятие както и Компютър и не означава САМО MS SQL Server) използват варианти на SQL или Диалекти както им викат ама това вече го писах
Ако се почетеш малко теория, което силно ти препоръчвам SQL всъщност е реализация на ДВА езика за бази данни DDL и DML съответно Data Definition Language и Data Management Language
При всички положения обаче SQL е интерфейсен език между Клиент-а и Сървъра. А под Клиент обикновено се разбира се разбира не човек а програма. Обикновено SQL сървърите се явяват back-end в 3-layer приложения server-middleware-client. Точно както при Web: SQL server (MySQL, Oracle, MSSQL и т.н.) - Web Server(Apache+PHP, Apache+cgi, IIS+APS и т.н.)-Browser
Така, че свикни с мисълта, че от гледна точка на базата данни "Клиент" обикновено е програма
Надявам се, че това отговаря на 3-тия ти въпрос
2. Това е един доста спорен въпрос. Аз лично след години използване на GUI интерфейси и много мишка все по-често предпочитам текстови конзоли и много писане.
Знам, че ще прозвучи странно, но графичните средства за работа с бази данни всъщност СКРИВАТ структурата до голяма степен. Забележи, че имам предвид структурата на приложението а не само таблиците.
3. Още нещо по този въпрос при това изключително важно и доста често пропускано. В теорията на БД се дефинират 3 Модела На Данните - всъщност са 3 Нива
System Model - Къде и как се съхраняват ФИЗИЧЕСКИ данните (Файлове, Дискове ...)
Administrative Model - Истинската структура на данните - всъщност тя е логическа. Таблици, индекси и т.н. Това е, което вижда Администратора на базата данни
User Model - Това което виждат "Клиентите"
Точно тук е препъни-камъка. В много случаи това се пропуска а точно в MySQL има и известни пречки по въпроса. User Model-а МОЖЕ да бъде специфичен за всеки User. Т.е. на всеки User (или група) се предоставя набор от таблици и т.н. който се различава от истинската структура.
Това е Начина По Който User-ite виждат базата данни и той ПО ДЕФИНИЦИЯ е различен. Това, че в много случаи клиентите виждат нещата така както те са е частен случай.
Нарочно наблягам на този факт защото много често се пропуска.
Така, че използването на SELECT и т.н. SQL изобщо не е работа на крайния клиенто а на програмиста.
Последна забележка
SQL НЕ Е ЕЗИК ЗА ПРОГРАМИРАНЕ
Работата с Релационни бази данни е работа с МНОЖЕСТВА и SQL всъщност е дефиниция на ьлгебра за работа с множества
Успех
Linux is like a wigwam - No Windows, No Gates, Apache inside
Re: ??? ??????? ??
2. Лоша работа ако е така
Провери ли какво има в mysql.user, myslq.db, mysql.tables_priv
?
И за коя томно версия става дума? Не съм чувал досега за нещо подобно.
1. Не знам какво разбираш под собствен клиенто, но някои API-та (за PHP съм сигурен) не позволяват да изпращаш повече от един ред.
т.е. ; е невалиден символ
@var са валидни за текущата сесия което включва и pconnect в някои случаи така, че не е проблем да ги изпилзваш в 2 последователни заявки
Същото се отнася и за temorary table
Linux is like a wigwam - No Windows, No Gates, Apache inside
Провери ли какво има в mysql.user, myslq.db, mysql.tables_priv
?
И за коя томно версия става дума? Не съм чувал досега за нещо подобно.
1. Не знам какво разбираш под собствен клиенто, но някои API-та (за PHP съм сигурен) не позволяват да изпращаш повече от един ред.
т.е. ; е невалиден символ
@var са валидни за текущата сесия което включва и pconnect в някои случаи така, че не е проблем да ги изпилзваш в 2 последователни заявки
Същото се отнася и за temorary table
Linux is like a wigwam - No Windows, No Gates, Apache inside
Re: ??? ??????? ??
** За привилегиите:
проверих таблиците -- нищо излишно няма:
user: всичко е N
db: usera изпбщо го няма
tables_priv: Select,Insert,Update,Delete -- само за зададената база и таблица
версията:
./mysql --version
./mysql Ver 11.15 Distrib 3.23.37, for pc-linux-gnu (i686)
Знам, че има и .39, но не би трябвало да чак толкова късно да е оправен подобен бъг. Правата не са наред нито от mysql конзолата, нито през PHP скрипт (и в двата случая се логвам като не-root).
** За клиента - "C" клиент е. Нищо де, явно самата конзола си ги парсва двете заявки. Не е чак толкова на зор.
НАЙ-добрия клуб ТУК
проверих таблиците -- нищо излишно няма:
user: всичко е N
db: usera изпбщо го няма
tables_priv: Select,Insert,Update,Delete -- само за зададената база и таблица
версията:
./mysql --version
./mysql Ver 11.15 Distrib 3.23.37, for pc-linux-gnu (i686)
Знам, че има и .39, но не би трябвало да чак толкова късно да е оправен подобен бъг. Правата не са наред нито от mysql конзолата, нито през PHP скрипт (и в двата случая се логвам като не-root).
** За клиента - "C" клиент е. Нищо де, явно самата конзола си ги парсва двете заявки. Не е чак толкова на зор.
НАЙ-добрия клуб ТУК
Re: Привилегиите
Лоша работа - нещо определено не е наред
Започнах с 3.23.6 и отгогава насам съм минал през всичките, но такъв проблем не съм имал
Нещо при теб е
Linux is like a wigwam - No Windows, No Gates, Apache inside
Започнах с 3.23.6 и отгогава насам съм минал през всичките, но такъв проблем не съм имал
Нещо при теб е
Linux is like a wigwam - No Windows, No Gates, Apache inside
Re: Благодаря,
Ami dokolkoto si spofnqm, fklu4itelno i na C, ; e nefaliden znak.
rgdz
curly
rgdz
curly
Re: MySQL & SQL Server
Здрасти, Salle,здравейте всички,
искам да питам още някои неща:
1.Какъв е синтаксисът за изпълнение на команди от MySQL зададени в BATCH-файл? И в коя директория трябва да се намира този файл? Аз създадох файл с Notepad и го записах в поддиректорията Bin на MySQL, но нещо май ми е грешен синтаксисът при задаване в MySQL на файла с командите(въпреки че се водех по Manual-a на MySQL). На прав път ли съм?
2.Успях да накарам MySQL да попълва таблица с данните от текстов файл, но при това се разместват записите, а на някои места даже липсват. Как трябва да отделя данните по всяка колона за да се отразяват в таблицата така както аз искам?
искам да питам още някои неща:
1.Какъв е синтаксисът за изпълнение на команди от MySQL зададени в BATCH-файл? И в коя директория трябва да се намира този файл? Аз създадох файл с Notepad и го записах в поддиректорията Bin на MySQL, но нещо май ми е грешен синтаксисът при задаване в MySQL на файла с командите(въпреки че се водех по Manual-a на MySQL). На прав път ли съм?
2.Успях да накарам MySQL да попълва таблица с данните от текстов файл, но при това се разместват записите, а на някои места даже липсват. Как трябва да отделя данните по всяка колона за да се отразяват в таблицата така както аз искам?