Sequel Pro is a fast, easy-to-use Mac database management application for working with MySQL databases. Perfect Web Development Companion Whether you are a Mac Web Developer, Programmer or Software Developer your workflow will be streamlined with a native Mac OS X Application! A free open-source package manager. This solution provides a simple way to install UNIX tools, Mac terminal utilities and graphical apps on Apple's macOS. It can quickly download and install them, compiling them from source. This Mac dev tool has been recommended for its ease of use as well as its integration into the command line.
last modified July 5, 2020
C# MySQL tutorial shows how to program MySQL in C#. It covers the basics ofMySQL programming with C#. The examples require C# 8.0+. C# tutorialis a comprehensive tutorial on C# language.
MySQL
MySQL is a leading open source database management system. It is a multi user, multithreaded database management system. MySQL is especially popular on the web. It is one part of the very popular LAMP platform consisting of Linux, Apache, MySQL, and PHP. Currently MySQL is owned by Oracle.MySQL database is available on most important OS platforms. It runs on BSD Unix, Linux, Windows or Mac OS. MySQL comes in two versions: MySQL server system and MySQLembedded system.
ADO.NET
ADO.NET is an important part of the .NET framework. It is a specificationthat unifies access to relational databases, XML files and other application data.MySql.Data is an implementation of the ADO.NET specificationfor the MySQL database. It is a driver written in C# language and is available forall .NET languages.
We include the package to our .NET Core project.
The MySqlConnection
, MySqlCommand
, MySqlDataReader
, DataSet
, and MySqlDataProvider
are the core elementsof the .NET data provider model. The MySqlConnection
creates a connection to a specific data source. The MySqlCommand
object executes an SQL statementagainst a data source. The MySqlDataReader
reads streams of data from a data source.
The DataSet
object is used for offline work with a massof data. It is a disconnected data representation that can hold data from a variety of different sources. Both MySqlDataReader
and DataSet
are used to work with data; they are used under different circumstances. If we only need to read the results of a query, the MySqlDataReader
is the better choice. If we need more extensive processing of data, or we want to bind a Winforms control to a database table, the DataSet
is preferred.
C# MySQL version
If the following program we check the version of the MySQL server.
We connect to the database and get some info about the MySQL server.
We import the elements of the MySQL data provider.
This is the connection string. It is used by the data provider to establish aconnection to the database. We specify the host name, user name, password and adatabase name.
A MySQLConnection
object is created. This object is used toopen a connection to a database. The using
statement releases the database connection resource when the variable goes out of scope.
This line opens the database connection.
Here we print the version of MySQL using the ServerVersion
property of the connection object.
This is a sample output.
Run Mysql Command Line Mac
C# MySQL SELECT statement
The following example determines the version of MySQL with a SELECT statement.
We check for the version of the MySQL database. This time usingan SQL query.
This is the SQL SELECT statement. It returns the version of the database. TheVERSION()
is a built-in MySQL function.
The MySqlCommand
is an object which is used to execute a query onthe database. The parameters are the SQL statement and the connection object.
There are queries which return only a scalar value. In our case, we want asimple string specifying the version of the database. TheExecuteScalar()
is used in such situations.
C# MySQL create table
In the following example, we create a database table and fill it with data.
In the example, we create a cars
table with eight rows.
First we drop the table if it already exists. We use theExecuteNonQuery()
method if we do not want a result set, forexample for DROP
, INSERT
, or DELETE
statements.
The cars
table is created. The AUTO_INCREMENT
keyword makes the column auto-incremented in MySQL.
Here we insert two rows into the table.
We run the program.
We connect to the MySQL server with the mysql
tool.
We verify the data. The cars
table was successfully created.
C# MySQL prepared statements
Prepared statements increase security and performance. When we writeprepared statements, we use placeholders instead of directly writing thevalues into the statements.
We add a new car to the cars
table. We use a parameterized command.
When we write prepared statements, we use placeholders instead of directlywriting the values into the statements. Prepared statements are faster and guardagainst SQL injection attacks. The @name
and @price
are placeholders, which are going to be filled later.
Values are bound to the placeholders with the AddWithValue()
method.
The prepared statement is executed. We use the ExecuteNonQuery()
method of the MySQLCommand
object when we don't expect any data tobe returned.
C# MySqlDataReader
The MySqlDataReader
is an object used to retrieve data from thedatabase. It provides fast, forward-only, read-only access to query results. Itis the most efficient way to retrieve data from tables.
Run Mysql Terminal Mac Xampp
We get all rows from the cars
table and print them to the console.
To create a MySQLDataReader
, we call the ExecuteReader()
method of the MySqlCommand
object.
The Read()
method advances the data reader to the next record. Itreturns true
if there are more rows; otherwise false
.We can retrieve the value using the array index notation, or use a specificmethod to access column values in their native data types. The latter is moreefficient.
This is the output of the example.
C# MySQL column headers
In the following example we print column headers with the data from a database table.
In the example, we select all rows from the cars
table with theircolumn names.
We get the names of the columns with the GetName()
method of the reader.
We print the data that was returned by the SQL statementto the terminal.
This is the output.
In this tutorial, we have shown how to program MySQL databases in C#.
List all C# tutorials.