Do czego służy w MS SQL Server polecenie USE sklep?
Poprawna jest odpowiedź o wskazaniu bazy sklep jako bieżącej. Serwer baz danych przechowuje wiele baz, a polecenie USE sklep; ustala, której dotyczą kolejne zapytania. Po jego wykonaniu można pisać SELECT * FROM klienci; zamiast pełnej nazwy sklep.dbo.klienci (w MS SQL Server) albo sklep.klienci (w MySQL).
Do zapamiętania: polecenie działa tak samo w MS SQL Server i w MySQL, a zmiana obowiązuje tylko w bieżącym połączeniu. W phpMyAdminie odpowiada mu kliknięcie nazwy bazy w panelu po lewej stronie, a w PHP - czwarty argument funkcji mysqli_connect() albo funkcja mysqli_select_db(). Jeśli bazy o podanej nazwie nie ma, serwer zgłosi błąd i bieżąca baza się nie zmieni.
Każda z błędnych odpowiedzi opisuje zadanie innego polecenia SQL. Nową bazę danych tworzy się poleceniem CREATE DATABASE sklep; - samo USE niczego nie tworzy i przy nieistniejącej bazie zakończy się błędem. Prawa dostępu nadaje polecenie GRANT, np. GRANT SELECT ON sklep.* TO 'uczen'@'localhost';, a odbiera REVOKE. Kopię zapasową w MS SQL Server wykonuje BACKUP DATABASE sklep TO DISK = '...';, a w MySQL zwykle program mysqldump.
Łatwo przypisać krótkiemu słowu USE szersze znaczenie, bo kojarzy się z „używaniem” bazy w ogóle. W rzeczywistości to tylko przełącznik kontekstu: mówi serwerowi, w której bazie szukać tabel wymienionych w następnych zapytaniach. Nie zmienia danych, struktury ani uprawnień. Dlatego polecenie umieszcza się zwykle na początku skryptu SQL, przed tworzeniem tabel i wstawianiem rekordów, żeby wszystkie obiekty trafiły do właściwej bazy.