zoukankan      html  css  js  c++  java
  • 数据库的基本使用(C#语言)

    数据库的基本使用
    @

    insert

    格式: insert into 表名() values()
    其中,values 是带s

    **格式: i**nsert into T1(name,age) values('aaa',30)
    T1是表名;
    name,age 是T1表中的键名,则'aaa',30是分别对应的值	
    == >values中的顺序要和表名后的顺序一致。
    

    select 的使用

    格式: select Name,Id from T1
    Name, Id 是表中的键名,多个键名之间使用逗号分开
    T1 是表格
    

    delete

    "delete from Table_Student where Name ='aaa' "; 
       
    delete from T_Student where Name='yzk'   
    
    从 T_Student表中删除Name字段等于yzk的数据
    
    delete from T_Student  删除所有数据
    
    delete from T_Student where Age>100 or Name='yzk' 或者
    
    delete from T_Student where Age>100 and Height>150  并且
    

    update 更新

    update T_Student set Age=Age+1
    
    update T_Student set Age=Age+1,AiHao='吃饭'
    
    update T_Student set AiHao='散步' where Age>100
    
    select * from T_Student where Age<30
    

    Like模糊查询

    select * from T_Student where Name like 'y%'	这个是查询以y开头的数据
    
    select * from T_Student where Name like 'y%k' 	这个是查询以y开头,  k为结尾的数据
    
    
    select * from T_Student where Name like '%a%'	查询含有名字中含有a 的数据
    

    Order 排序

    按照一个字段排序 select * from T_Student order by Age 默认是升序排列

    select * from T_Student order by Age, Height 
    

    如果Age一样,则再按照Height排序

    下面是降序排列,降序Descending

    select * from T_Student order by Age Desc 
    

    下面是如果Age一样,则再按照Height排序

    	select * from T_Student order by Age, Height DEsc	
    

    下面的语句是一个整体

    select * from T_Student where Name like 'y%' 
    order by Age 
    

    where要在order by之前

    GETDATA()

    GETDATA(),sql 内置的函数
    用来获取当前时间
    其中,下面的as是在查询结果显示的时候,起别名

    select Name as selectname, GETDATE() from Table_Student
    

    在这里插入图片描述

    聚合函数:MAX,MIN,AVG,SUM,COUNT

    Max

    查询Height、Age的最大值
    select Max(Height) as maxid, Age as myAge   from Table_Student 
    

    COUNT

    下面是查询在Age > 100 中所有的行数
    select COUTN(*) from Table_Student where Age >100
    

    ADO.Net 平台的使用

    简介:.Net中用来向数据库提交执行SQL语句的一堆类。
    

    在C#中使用的格式

              // SqlConnection 继承的父类 SqlConnection 实现在对自动回收接口的继承
                // public abstract class DbConnection : Component, IDbConnection, IDisposable
                /* SqlConnection 实例化建立新的连接
                 *  Data Source 表示 IP,如果是本机通信的话,只需要写 .  就可以了
                 *  Initial Catalog 对应的数据库中将要操作的表格
                 *  User ID 表示数据库登录的账户名称,sa表示的是管理员账户名称
                 *  Password 表示数据库登录的密码
                 * 
                 */
                // 如数据库建立连接
                using (SqlConnection conn = new SqlConnection
                    ("Data Source = 192.168.43.102; Initial Catalog = MyTest; User ID = sa; Password = 123"))
                {
                    
                    conn.Open();    // 打开数据库
                    /*
                     *  conn.CreateCommand  创建操作命令
                     *  cmd.CommandText     后面接的是sql语句
                     *  cmd.ExecuteNonQuery(); 实施查询
                     *  
                     */
    
                    using (SqlCommand cmd = conn.CreateCommand())  // 创建数据库的操作指令信息
                    {
    					// 操作数据库的相关指令信息
    
                    }
                }
    

    insert 在 C# 的使用

    一下是在wpf 中的Button按钮对应的控制方法
    ,cs 文件内容如下:

           /// <summary>
            /// 向数据库写入信息
            /// Insert语句的使用
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void button_Click(object sender, RoutedEventArgs e)
            {
                // SqlConnection 继承的父类 SqlConnection 实现在对自动回收接口的继承
                // public abstract class DbConnection : Component, IDbConnection, IDisposable
                /* SqlConnection 实例化建立新的连接
                 *  Data Source 表示 IP,如果是本机通信的话,只需要写 .  就可以了
                 *  Initial Catalog 对应的数据库中将要操作的表格
                 *  User ID 表示数据库登录的账户名称,sa表示的是管理员账户名称
                 *  Password 表示数据库登录的密码
                 * 
                 */
                using (SqlConnection conn = new SqlConnection
                    ("Data Source = 192.168.43.102; Initial Catalog = MyTest; User ID = sa; Password = 123"))
                {
                    
                    conn.Open();    // 打开数据库的连接
                    /*
                     *  conn.CreateCommand  创建操作命令
                     *  cmd.CommandText     后面接的是sql语句
                     *  cmd.ExecuteNonQuery(); 实施查询
                     *  
                     */
                    using (SqlCommand cmd = conn.CreateCommand())
                    {
                        cmd.CommandText = "Insert into Table_Student(Name, Age, Height) Values ('Vs插入数据', 12, 12.1212)";
                        cmd.ExecuteNonQuery();
    
                    }
                    MessageBox.Show("写入数据成功");
    
                }
            }
    

    对应的
    MainWindow.xaml文件如下

    <Window x:Class="ShuJuKu15_ADONet_JiChu.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
            xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
            xmlns:local="clr-namespace:ShuJuKu15_ADONet_JiChu"
            mc:Ignorable="d"
            Title="MainWindow" Height="350" Width="525">
        <Grid>
            <Button x:Name="button" Content="写入数据" HorizontalAlignment="Left" Margin="230,92,0,0" VerticalAlignment="Top" Width="75" Click="button_Click"/>
       
        </Grid>
    </Window>
    
    

    对应的界面如下

    在这里插入图片描述

    delete 的使用

    对应的.cs文件

    
            /// <summary>
            /// 数据库删除信息
            /// delete语句的使用
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void btn_delete_Click(object sender, RoutedEventArgs e)
            {
                // SqlConnection 继承的父类 SqlConnection 实现在对自动回收接口的继承
                // public abstract class DbConnection : Component, IDbConnection, IDisposable
                using (SqlConnection conn = new SqlConnection
                    ("Data Source = .; Initial Catalog = MyTest; User ID = sa; Password = 123"))
                    //("Data Source = 192.168.43.102; Initial Catalog = MyTest; User ID = sa; Password = 123"))
                {
                    conn.Open();
                    using (SqlCommand cmd = conn.CreateCommand())
                    {
                        cmd.CommandText = "delete from Table_Student where Name ='aaa' ";
                        cmd.ExecuteNonQuery();
    
                    }
                    MessageBox.Show("删除数据成功");
    
                }
            }
    

    对应的.wpf文件

    <Window x:Class="ShuJuKu15_ADONet_JiChu.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
            xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
            xmlns:local="clr-namespace:ShuJuKu15_ADONet_JiChu"
            mc:Ignorable="d"
            Title="MainWindow" Height="350" Width="525">
        <Grid>
            <Button x:Name="btn_delete" Content="删除数据" HorizontalAlignment="Left" Margin="230,120,0,0" VerticalAlignment="Top" Width="75" Click="btn_delete_Click" />
        </Grid>
    </Window>
    
    

    对应的界面
    在这里插入图片描述

    其他的操作同理。最后,融合在一起后, 形成的界面如下:
    在这里插入图片描述

    对应的.wpf 文件如下

    <Window x:Class="ShuJuKu15_ADONet_JiChu.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
            xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
            xmlns:local="clr-namespace:ShuJuKu15_ADONet_JiChu"
            mc:Ignorable="d"
            Title="MainWindow" Height="350" Width="525">
        <Grid>
            <Button x:Name="button" Content="写入数据" HorizontalAlignment="Left" Margin="230,92,0,0" VerticalAlignment="Top" Width="75" Click="button_Click"/>
            <Button x:Name="btn_delete" Content="删除数据" HorizontalAlignment="Left" Margin="230,120,0,0" VerticalAlignment="Top" Width="75" Click="btn_delete_Click" />
            <Button x:Name="btn_update" Content="更新数据" HorizontalAlignment="Left" Margin="230,150,0,0" VerticalAlignment="Top" Width="75" Click="btn_update_Click" />
            <Button x:Name="btn_queryAllLine" Content="查询总行数" HorizontalAlignment="Left" Margin="363,92,0,0" VerticalAlignment="Top" Width="75" Click="btn_queryAllLine_Click"/>
            <Button x:Name="btn_writeAndReturnId" Content="写入数据并方式对应的ID" HorizontalAlignment="Left" Margin="320,120,0,0" VerticalAlignment="Top" Width="150"  Click="btn_writeAndReturnId_Click"/>
       
        </Grid>
    </Window>
    
    

    对应的.cs文件如下

    
    using System;
    using System.Collections.Generic;
    using System.Data.SqlClient;    // 数据库空间引入
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Data;
    using System.Windows.Documents;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Windows.Media.Imaging;
    using System.Windows.Navigation;
    using System.Windows.Shapes;
    
    namespace ShuJuKu15_ADONet_JiChu
    {
        /// <summary>
        /// MainWindow.xaml 的交互逻辑
        /// </summary>
        public partial class MainWindow : Window
        {
            public MainWindow()
            {
                InitializeComponent();
            }
            /// <summary>
            /// 向数据库写入信息
            /// Insert语句的使用
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void button_Click(object sender, RoutedEventArgs e)
            {
                // SqlConnection 继承的父类 SqlConnection 实现在对自动回收接口的继承
                // public abstract class DbConnection : Component, IDbConnection, IDisposable
                /* SqlConnection 实例化建立新的连接
                 *  Data Source 表示 IP,如果是本机通信的话,只需要写 .  就可以了
                 *  Initial Catalog 对应的数据库中将要操作的表格
                 *  User ID 表示数据库登录的账户名称,sa表示的是管理员账户名称
                 *  Password 表示数据库登录的密码
                 * 
                 */
                using (SqlConnection conn = new SqlConnection
                    ("Data Source = 192.168.43.102; Initial Catalog = MyTest; User ID = sa; Password = 123"))
                {
                    
                    conn.Open();    // 打开数据库的连接
                    /*
                     *  conn.CreateCommand  创建操作命令
                     *  cmd.CommandText     后面接的是sql语句
                     *  cmd.ExecuteNonQuery(); 实施查询
                     *  
                     */
                    using (SqlCommand cmd = conn.CreateCommand())
                    {
                        cmd.CommandText = "Insert into Table_Student(Name, Age, Height) Values ('Vs插入数据', 12, 12.1212)";
                        cmd.ExecuteNonQuery();
    
                    }
                    MessageBox.Show("写入数据成功");
    
                }
            }
    
            /// <summary>
            /// 数据库删除信息
            /// delete语句的使用
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void btn_delete_Click(object sender, RoutedEventArgs e)
            {
                // SqlConnection 继承的父类 SqlConnection 实现在对自动回收接口的继承
                // public abstract class DbConnection : Component, IDbConnection, IDisposable
                using (SqlConnection conn = new SqlConnection
                    ("Data Source = .; Initial Catalog = MyTest; User ID = sa; Password = 123"))
                    //("Data Source = 192.168.43.102; Initial Catalog = MyTest; User ID = sa; Password = 123"))
                {
                    conn.Open();
                    using (SqlCommand cmd = conn.CreateCommand())
                    {
                        cmd.CommandText = "delete from Table_Student where Name ='aaa' ";
                        cmd.ExecuteNonQuery();
    
                    }
                    MessageBox.Show("删除数据成功");
    
                }
            }
            /// <summary>
            /// 数据库更新信息
            ///  update 语句的使用
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void btn_update_Click(object sender, RoutedEventArgs e)
            {
                using (SqlConnection conn = new SqlConnection
                    ("Data Source = 192.168.43.102; Initial Catalog = MyTest; User ID = sa; Password = 123"))
                {
                    conn.Open();
                    using (SqlCommand cmd = conn.CreateCommand())
                    {
                        cmd.CommandText = "update Table_Student set Age = 2 where Name ='Vs插入数据' ";
                        cmd.ExecuteNonQuery();
    
                    }
                    MessageBox.Show("更新数据成功");
    
                }
            }
    
            /// <summary>
            /// 数据库查询信息
            /// select 语句的应用
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void btn_queryAllLine_Click(object sender, RoutedEventArgs e)
            {
                using (SqlConnection conn = new SqlConnection
                    ("Data Source  = 192.168.43.102; Initial Catalog = MyTest; User ID = sa; Password = 123"))
                {
                    int tmp = 0;
                    conn.Open();
                    using (SqlCommand cmd = conn.CreateCommand())
                    {
                        cmd.CommandText = "select count(*) from Table_Student ";
                        int i = (int)cmd.ExecuteScalar();   //ExecuteScalar一般用来执行有且只有一行一列返回值的SQL语句
                        tmp = i;
                        /*
                        //下面这段是查询数据库表格中是否有'aaa'并返回aaa
                        cmd.CommandText = "select 'aaa'";
                        //ExecuteScalar一般用来执行有且只有一行一列返回值的SQL语句
                        string s = (string)cmd.ExecuteScalar();
                        MessageBox.Show(s);
                        */
                    }
                    MessageBox.Show("总共有【" + tmp + "】条数据");
                }
            }
    
            /// <summary>
            /// 写入数据库中的表格并获取ID
            /// insert 与 select ,及关键词 @@identity , output 的使用
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void btn_writeAndReturnId_Click(object sender, RoutedEventArgs e)
            {
                // SqlConnection 继承的父类 SqlConnection 实现在对自动回收接口的继承
                // public abstract class DbConnection : Component, IDbConnection, IDisposable
                using (SqlConnection conn = new SqlConnection
                    ("Data Source = 192.168.43.102; Initial Catalog = MyTest; User ID = sa; Password = 123"))
                {
                    conn.Open();
                    using (SqlCommand cmd = conn.CreateCommand())
                    {
    
                        cmd.CommandText = "insert into Table_Student(Name, Age) values('bbb', 111)";
                        cmd.CommandText = "select Max(ID) as maxid Table_Student ";
                        string s = (string)cmd.ExecuteScalar();
                        MessageBox.Show(s);
                        //获得自字段的值
                        // @@ 是什么意思
                        // 这段注释同样是写入数据库中的表格并获取ID, 但是不是很好,因为这是,如果下写入数据后,如果有新的数据
                        //突然插进来写入新的数据,这个时候获取的ID就不是原来的ID , 而是新的ID,这就不对了
                        cmd.CommandText = "insert into Table_Student(Name,Age) values('aaa',123) ;select @@identity";
                        decimal i = (decimal)cmd.ExecuteScalar();//
    
                        ////写入数据并返回该数据对应的id值
                        //cmd.CommandText = "insert into Table_Student(Name,Age) output inserted.Id values('aaa',123) ";
                        //long i = (long)cmd.ExecuteScalar();//数据库bigint→C#平台long
                        MessageBox.Show(i.ToString());
                    }
                    MessageBox.Show("写入数据成功");
    
                }
            }
        }
    }
    
    
    
  • 相关阅读:
    linux下启动和关闭网卡命令及DHCP上网
    python 编码问题
    paddlepaddle
    Convolutional Neural Network Architectures for Matching Natural Language Sentences
    deep learning RNN
    Learning Structured Representation for Text Classification via Reinforcement Learning 学习笔记
    Python IO密集型任务、计算密集型任务,以及多线程、多进程
    EM 算法最好的解释
    tensorflow 调参过程
    tensorflow 学习纪录(持续更新)
  • 原文地址:https://www.cnblogs.com/jyfootprint/p/10261478.html
Copyright © 2011-2022 走看看