数据库的基本使用(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("写入数据成功");
}
}
}
}
数据库的基本使用(C#语言)的更多相关文章
- Oracle数据库 — DDL:数据定义语言
1.数据定义语言:用于定义数据库的结构,比如创建.修改或删除数据库对象: 包括: CREATE TABLE:创建数据库表:创建表的命名规则: 2.以字母开头:在 1–30 个字符之间:只能包含 A–Z ...
- ORCAL 数据库的约束以及SQL语言的四种类型
oracle数据库约束: 定义:要输入的这个值是一个什么样的值, 或者是哪个范围内的值 作用: 确保完整性, 确保精确性 1, 非空约束(not null) 记录一条信息的时候如果用户名和密码没有被记 ...
- MySQL---连接器(python如何操作数据库媒介,基于python语言)
MySQL — 连接器 连接器的概念 它们往往是一类Python包,或者是一类已经写好的Python库.这些库提供了我们Python去连接数据库服务器的基本功能. 既然它是一个包,那么我们首先学会 ...
- easyui复选框树动态加载后台数据,实现自动选中数据库中数据。后台语言是.NET
最近公司做项目用到了easyui复选框树来实现加载不同类型产品.因为我刚刚毕业,现在也算是实习吧,所以一脸懵逼啊.在公司里的一个哥的帮助下 ,我写出来这个EasyUi复选框树了,虽然东西不难,但也是自 ...
- postgresql数据库常用操作命令及SQL语言
(1)登录 peng@peng-virtual-machine:~$ sudo -u postgres psql 以用户postgres身份登录,postgres为用户名,可有多个用户,登录时会要求输 ...
- 吴裕雄--天生自然ORACLE数据库学习笔记:SQL语言基础
select empno,ename,sal from scott.emp; SELECT empno,ename,sal FROM scott.emp; selECT empno,ename,sal ...
- 数据库的存储引擎和SQL语言
数据库的存储引擎就是管理数据存储的东西,它完成下面的工作: 1)存储机制 2)索引方式 3)锁 4)等等 SQL语言:-----关系型数据库所使用的数据管理语言 1)数据定义语言(DDL):DROP. ...
- C语言与数据库操作入门
https://blog.csdn.net/flyingqd/article/details/78763652 C语言与数据库操作入门(Win版) 2017年12月10日 17:30:17 阅读数:1 ...
- C语言与数据库操作入门(Win版)
C语言与数据库操作入门(Win版) 2017年12月10日 17:30:17 阅读数:1387 数据库,DataBase,学C语言的是不是想说,很想爱她却并不容易呢?不用着急,C语言也可以操作数据库的 ...
- python语言(五)匿名函数、读写excel、操作数据库、加密、redis操作
一.匿名函数 递归:就是调用自己 def func(): num = int(input('num:')) if num % 2 ==0: print('是偶数') return else: func ...
随机推荐
- flask实现异步任务
最近在开发同步mysql数据到redis的接口,因为数据同步涉及各种增删查改,如果用同步实现,可能回造成连接超时.堵塞,所以,使用python实现异步任务. 代码实现from flask import ...
- Get column value of Flex Datagrid by QTP
' get the number of rows in the tablerowCount=Browser("Browser").FlexApplication("App ...
- Java 课程总结
学到了什么 本学期通过老师的教导与自学,在Java课程具体学到了以下知识: 1.面向对象编程 1.1 类与对象(匿名对象) 类是由方法与属性组成,其定义了一个基本的模板,代表一个共性.其中属性也可以是 ...
- JVM系列(一) — Jvm内存模型
总结自<深入理解java虚拟机> 很多博客在讲虚拟机内存模型时,比较宽泛或者粗化,甚者,不准确,以下是我的一个笔记照片 运行时数据区可以分为两部分:线程共享区和线程私有区 一.线程共享区 ...
- java异常不匹配问题
java的异常处理是为了提高程序健壮性的. 当发生异常的时候,我们把这个异常捕获到,或者throw出去.然后对这些异常的情况进行处理.并且异常发生之后的代码仍然会执行,这样就能提高程序的健壮性.如下 ...
- OKVIS框架之前端
1. 数据流入 在okvis_app_sychronous.cpp内,把IMU和图像数据加入到各自的队列里.由ThreadedKFVio负责队列的各种操作.作者对队列加了特殊功能,保证队列是线程安全的 ...
- C# 与 C++ 互操作(C# 调用 C++ 的动态链接库)
1.新建 C++ 动态链接库项目 CPlus.cpp: #include "stdafx.h" extern "C" __declspec(dllexport) ...
- 【学习总结】Python-3-逻辑运算符
参考:菜鸟教程-Python3运算符 逻辑运算符的计算规则划重点: 并不是只返回布尔型,有时会返回变量的数值 (优先级:not>and>or) 总结: '与或非'三件套中,not与数学逻辑 ...
- 配置进程外Session 同时解决一个奇怪的BUG 因为SQLserver 服务器名不是默认的.或者localhost而引发的一系列问题
用公司的电脑学习如鹏网的视频,开发一个项目,用到了进程外session,因为公司电脑SQLServer 是2008 服务器名称是. 然后参考这篇文章进行设置进程外session 很顺利 完成了设置. ...
- java -jar 中文乱码
java -Dfile.encoding=utf-8 -jar demo.jar 添加编码即可