U kunt SQL -scripts uitvoeren vanuit een UNIX -shell met behulp van verschillende methoden. Hier is een uitsplitsing van de meest voorkomende benaderingen:
1. Met behulp van de opdracht `sqlplus` (voor oracle)
* scriptbestand: Maak uw SQL -scriptbestand (bijv. `My_script.sql`).
* opdracht:
`` `bash
sqlplus /nolog @my_script.sql
`` `
* `/nolog` vertelt` sqlplus` om niet te vragen om een gebruikersnaam en wachtwoord.
* `@my_script.sql` vertelt` sqlplus` om de opdrachten uit te voeren in `my_script.sql`.
2. Met behulp van `psql` (voor postgreesql)
* scriptbestand: Maak uw SQL -scriptbestand (bijv. `My_script.sql`).
* opdracht:
`` `bash
psql -f my_script.sql -d database_name -u gebruikersnaam
`` `
* `-f my_script.sql` geeft het scriptbestand op.
* `-d Database_Name` maakt verbinding met de opgegeven database.
* `-U gebruikersnaam 'specificeert de gebruikersnaam voor de verbinding.
3. Met behulp van `mysql` (voor mysql)
* scriptbestand: Maak uw SQL -scriptbestand (bijv. `My_script.sql`).
* opdracht:
`` `bash
mysql -u gebruikersnaam -p -h hostnaam -d database_name
`` `
* `-U gebruikersnaam 'specificeert de gebruikersnaam voor de verbinding.
* `-P` vraagt om het wachtwoord.
* `-H hostName` geeft de databaseserverhostnaam aan (optioneel bij gebruik van de lokale server).
* `-D Database_Name` geeft de databasenaam aan.
* `
4. Met behulp van `sqlite3` (voor sqlite)
* scriptbestand: Maak uw SQL -scriptbestand (bijv. `My_script.sql`).
* opdracht:
`` `bash
sqlite3 database_name
`` `
* `Database_name` is de naam van uw SQLite -databasebestand.
* `
5. Met behulp van de opdracht `echo` (voor enkele opdrachten)
* U kunt direct SQL -opdrachten naar de databaseclient verzenden met behulp van `echo`:
`` `bash
echo "selecteer * uit my_table;" | mysql -u gebruikersnaam -p -h hostnaam -d database_name
`` `
Belangrijke overwegingen:
* machtigingen: Zorg ervoor dat uw scriptbestanden de juiste machtigingen hebben, zodat de shell ze kan uitvoeren (meestal `chmod +x my_script.sql`).
* Omgevingsvariabelen: Omgevingsvariabelen instellen voor database -referenties als u ze niet in het script wilt maken.
* Foutafhandeling: Implementeer foutafhandeling in uw scripts om potentiële problemen gracieus te beheren.
* scripttalen: U kunt ook scripttalen zoals Python of Perl gebruiken om te communiceren met databases en SQL -scripts flexibeler uitvoeren.
Vergeet niet om de opdrachten en opties aan te passen op basis van uw specifieke databasesysteem en configuratie. |