Anuncios

viernes, 15 de mayo de 2009

Manejo de SQL Server mediante osql


Como ya indiqué en mis anteriores artículos. Es mejor manejar es sqlcmd en vez del OSQL. El osql está disponible en SQL Server 2000, 2005 y 2008. El manejo es el mismo. Sin embargo, si insisten con OSQL ahi va:


Qué es osql ?

Cómo empezar ?

Para crear una base de datos en osql (línea de comandos)

Para moverse de una base de datos a otra

Para crear una tabla usando osql (línea de comandos)

Para insertar datos en una tabla usando osql (línea de comandos)

Para mostrar datos de una tabla de sql server usando línea de comandos select con osql

Para llamar a un script sql desde osql




Qué es el osql ?


Es una herramienta de SQL Server para manejar la base de datos desde la línea de comandos.


Cómo empezar ?


En una máquina con SQL Server instalado, vaya al inicio>ejecutar>cmd


Luego escriba


OSQL -E


Si todo le salió bien le debería aparecer un número 1>


Si no, tal vez tenga que darle privilegios de administrador al usuario con el que está trabajando en el sistema.


Para crear una base de datos en osql (línea de comandos):

1>create database Daniel

2>go




El famoso go hay que ponerlo siempre al final de cualquier sentencia. Personalmente no me agrada.



Para moverse a una base de datos (cambiar de contextos)

Por defecto el osql se carga en la base de datos master. Si queremos movernos a la base de datos Daniel creada en el anterior ejercicio, debemos hacer los siguiente:

1> use Daniel

2> go



Se cambió el contexto de la base de datos a 'daniel'.

Se pone use y el nombre de la base de datos.


Para crear una tabla usando osql (línea de comandos)

/*crea una tabla llamada table1 con la columna column1*/

1> create table table1

2> (

3> column1 int

4> )

5> go




Para insertar valores en una tabla con osql (línea de comandos)



1> insert into table1 values (20)

2> go



(1 filas afectadas)



Para mostrar los valores de una tabla mediante línea de comandos osql (select)

1> select * from table1

2> go


column1

-----------

20



(1 filas afectadas)

Ahora vamos a algo un poco más elaborado.


Para llamar a un script de SQL Server desde la línea de comandos (osql de SQL Server)



1. Crear un script en el SQL Server Management Studio que se llame insert.sql

2. En el archivo insert.sql escriba esto:

----------------------------------------------------------------------



/*Para crear una base de datos en SQL Server*/

CREATE DATABASE DANIEL2


go


USE daniel2

go



/*Para crear una tabla en SQL Server*/

create table estudiante

(

nombre varchar(12),

nota int

)



/*Para insertar datos en SQL Server*/

Insert into estudiante values ('Jonas',58)

Insert into estudiante values ('Juan',36)

Insert into estudiante values ('Johny',49)

------------------------------------------------------------------

3. Esto es MUY IMPORTANTE: Salga del osql (con exit)

4. Ejecute esto:

C:\Documents and Settings\Administrador>osql -E -i c:\insert.sql

Asegúrese que su script está en el c:, si no vea la ruta correcta. Es muy común tratar de poner en un path con espacios en el nombre. –i es el imput que en este caso es el script.

Si todo salió bien, se creó una base de datos Daniel2, una tabla estudiante y se insertaron 3 datos en la tabla.

Artículos relacionados

People who read this post also read :