570 likes | 798 Views
Working with MS SQL Server. Textbook Chapter 14. Objectives. You will be able to Use Visual Studio for GUI based interactive access to a Microsoft SQL Server database. Populate a table with data from an Excel worksheet.
E N D
Working with MS SQL Server Textbook Chapter 14
Objectives You will be able to • Use Visual Studio for GUI based interactive access to a Microsoft SQL Server database. • Populate a table with data from an Excel worksheet. • Use sqlcmd for command line interactive access to a Microsoft SQL Server database. • Using either Visual Studio or sqlcmd to: • Create and delete tables. • Insert new rows into tables. • Modify table definitions. • Modify existing rows. • Retrieve and display table data.
CoE Resources • We all have accounts, with a single database each, on a Microsoft SQL Server on the CoE network: • scorpius.eng.usf.edu • Classroom and lab computers can access scorpius directly. • A VPN connection is required for your home computer or wireless laptop to access scorpius. • or maybe not for wireless access on campus
The Database Server • This is the same machine that we use as a web server. • Different server software. • Different user accounts. • Be sure to use the username and password that you have been given for the SQL Server • Same username as for the web server (wpusrxx). • Different password.
Using Visual Studio • Visual Studio includes database access functions. • View "Server Explorer" • Set up a Data Connection • Visual Studio 2010 will not work with scorpius. • The database server version on scorpius is too old! • We have to use Visual Studio 2008.
Download Visual Studio 2008 • If you don't have Visual Studio 2008 on your computer, you can get a free 90 day trial from Microsoft. • http://www.microsoft.com/en-us/download/details.aspx?id=3713 • Very large download! • .iso file • Can't be installed directly. • Must use Virtual CD program or burn a real CD • See http://msdn.microsoft.com/en-us/subscriptions/aa948864.aspx • OR • https://www.dreamspark.com/
Adding a Data Connection in Visual Studio 2008 Right click on Data Connections and select Add Connection.
Adding a Data Connection in Visual Studio 2008 You will see this the first time you add a data connection.
Adding a Data Connection Your SQL Server Username Your SQL Server Password
Test the Connection Click here
Adding a Table • We will add a table to the database. • Populate the table with data from an Excel spreadsheet. • Define the table in Visual Studio. • Download the table as a CSV file. • Open the spreadsheet in Excel. • Copy the spreadsheet data in Excel. • Paste the data into the database table in Visual Studio. • Modify the table definition to add a unique ID column.
The Addresses Table • We will create a new table to hold the addresses in file Addresses.csv. http://www.cse.usf.edu/~turnerr/Web_Application_Design/Downloads/ File Addresses.csv
Data Types • Common SQL Data Types • int • nvarchar(n) n = max number chars • char(n) n = number chars • decimal (p,s) p = total number of digits s = number decimal places • datetime • Many more!
Viewing Table Data Right click on Addresses and select “Show Table Data”.
Viewing Table Data Table is currently empty.
Populating a Table • Download file Addresses.csv from the Downloads area of the class web site: • http://www.cse.usf.edu/~turnerr/Web_Application_Design/Downloads/Addresses.csv • Double click to open in Excel
Populating the Database Table • We will use the contents of this Excel worksheet to populate the Address table in the database. • Click inside the worksheet, then press Ctrl-A to select all. • Press Ctrl-C to copy the entire worksheet to the clipboard.
Populating the Database Table Click here to select all of the table. Press Ctrl-V to paste the clipboard into the table. (This may take a while to complete.)
Setting an ID Field • It is good practice to include an ID field for every row of a database table. • Unique identifier • Normally an Identity column. • Value set by server as each row is added • Not present in the Excel worksheet.
Open Table Definition Right click on Addresses and select Open Table Definition. Add column ID as int.
Add Column ID Select row and drag to the top.
Set Column Properties Make ID an identity column.
Set Primary Key Right click on ID and select Set Primary Key.
Show Table Data End of Section
The sqlcmd Utility • Command line utility for MS SQL Server databases. • http://msdn.microsoft.com/en-us/library/ms162773.aspx • Previous version called osql • Available on classroom and lab PCs. • In Windows command window • Connect to a Database Server • Enter SQL commands on the command line. • Results output to the console.
Getting and Installing sqlcmd • Included with Management Studio Express. • Free download from Microsoft • http://www.microsoft.com/en-us/download/details.aspx?id=8824 • In Visual Studio Help, search for sqlcmd. • Or just google sqlcmd
The SQL Language • The following slides demonstrate SQL commands using the sqlcmd program. • Remember SQL is used everywhere we interact with a database server: • Command line • Database management programs • Our own programs
Using sqlcmd MyUsername The Server Password entered here Execute commands in buffer
SQL Command Line Example • View a subset of the columns.
Retrieve Specific Entries Find all addresses with zip code 33707
Wildcard Selection Find all addresses with last name beginning with S
Wildcard Selection All addresses with last name containing an s
Case Sensitivity • SQL commands and keywords are not case sensitive. • Data is case sensitive • Characters are stored as upper case or lower case. • Sorting order is a mode. • Default is not case sensitive • Search comparisons same as sorting order.
Sorting the Output Zip_Code is a string. So sort is lexicographic, not numeric.
Zip Codes Zip codes are sorted legicographically, not numerically.
Counting Rows How many addresses are there with zip code 33707?
SQL Commands in Visual Studio • We can also use Visual Studio to issue arbitrary SQL commands to the server. • On the Data menu select New Query
SQL Commands in Visual Studio Click here