随笔分类 - 后端开发、数据库相关
数据库相关: Server Sql, Mysql
摘要:修改密码://选择数据库use mysql;//修改密码update user set password=password('新密码') where user='root';//立即生效flush privileges忘记管理员密码:在my.ini的[mysqld]字段下面加入:skip-grant-tables重启mysql服务,这时的mysql不需要密码即可登录数据库然后进入mysqluse mysql;update user set password=password('新密码') where user='root';flu
阅读全文
摘要:一、多表查询:根据特定的连接条件从不同的表中获取所需的数据 多表查询语法:SELECT table1.column, table2.columnFROM table1, table2WHERE table1.column1 = table2.column2; 但要注意where不要省了,省略where即为笛卡尔集 笛卡尔集的产生条件:省略连接条件,连接条件无效 笛卡尔集的造成的影响:第一个表中的所有行与第二个表中的所有行相连接,数据无效。两张表间有一个相同的字段,才好进行有效的多表查询。 使用表别名和表前缀:SELECT t1.column, t2.columnFROM table1...
阅读全文
摘要:Path 类 对包含文件或目录路径信息的String实例执行操作。 1.Path.GetExtension 方法 ——返回指定的路径字符串的扩展名。 public static string GetExtension(string path)string fileName = @"C:\mydir.old\myfile.ext";string path = @"C:\mydir.old\";string extension;extension = Path.GetExtension(fileName);Console.WriteLine("Ge
阅读全文
摘要:File 类 提供用于创建、复制、删除、移动和打开文件的静态方法,并协助创建FileStream对象。 1. File.Exists ——确定指定的文件是否存在。 public static bool Exists(string path)string curFile = @"c:\temp\test.txt";Console.WriteLine(File.Exists(curFile) ? "File exists." : "File does not exist."); 2. File.AppendAllText 方法 ——将指定
阅读全文
摘要:.Net平台最基础的容器就是System.Array 类。C#数组允许我们定义一组固定上限的同一类型的项(包括System.Object的数组,它本质上标识任何类型的数组)。 虽然通常这可以满足我们的要求,但是在很多时候我们需要更灵活的数据结构,比如动态增长和收缩的容器或者容器只可以保存符合某个条件的对象。 自从.NET 平台第一次发布以后,程序员经常使用System.Collections 命名空间来以更灵活的方式管理数据,然而自从.Net2.0发布之后,C#编程语言就增强了,开始支持泛型(字面意思通用类型)。基于此,在基础类库中引入了一个以集合为中心的新命名空间:System.Col...
阅读全文
摘要:在学习的过程中遇到困惑,不理解? 那就先把它记住,狠狠地记住,就像万有引力,它是那样的,程序语言也是,它就是这样设计的,记清楚也就知道了。 接口标志类的类别(type of class)。把不同类型的类归于不同的接口,可以更好的管理他们。OO的精髓是对对象的抽象,最能体现这一点的就是接口。为什么我们讨论设计模式都只针对具备了抽象能力的语言(比如c++、java、c#等),就是因为设计模式所研究的,实际上就是如何合理的去抽象。(cowboy的名言是“抽象就是抽去像的部分”,看似调侃,实乃至理)。 接口简单理解就是一种约定,使得实现接口的类或结构在形式上保持一致,使程序更加清晰和条理化。 ...
阅读全文
摘要:C# 是在编译时静态类型化的,因此变量在声明后就无法再次声明,或者无法用于存储其他类型的值,除非该类型可以转换为变量的类型。1. 隐式类型转换 隐式转换,就是系统默认的转换,其本质是小存储容量数据类型自动转换为大存储容量数据类型,该转换是一种安全类型的转换,不会导致数据丢失,因此不需要任何特殊的语法。 下面是 .NET 数据类型之间的C#隐式转换列表: 2.显式类型转换 显式类型转换,即强制类型转换。显式转换需要强制转换运算符,而且强制转换会造成数据丢失。源类型目标类型sbytebyte,ushort,uint,ulong,或charbytesbyte或charshortsbyte...
阅读全文
摘要:"一次编码,多次使用",是引入泛型的根源。 我们在编写程序时,经常遇到两个模块的功能非常相似,只是一个是处理int数据,另一个是处理string数据,或者其他自定义的数据类型,但我们没有办法,只能分别写多个方法处理每个数据类型,因为方法的参数类型不同。泛型的出现就是专门解决这个问题的,在方法中传入通用的数据类型,使代码可以进行合并。 在公共语言运行时和 C# 语言的早期版本中,通用化是通过在类型与通用基类型Object之间进行强制转换来实现的,泛型提供了针对这种限制的解决方案。通过创建泛型类,可以创建一个在编译时类型安全的集合。 使用非泛型集合类的限制可以通过编写一小段程序
阅读全文
摘要:当类或结构创建时,其构造函数调用,它们通常用于初始化新对象的数据成员。一、默认构造函数在下面的示例中,使用一个简单的构造函数定义了名为Test的类。然后使用new运算符来实例化该类。在为新对象分配内存之后,new运算符立即调用Test构造函数。class Test{ public int x, y; public Test() { x =1; y = 2; }}class MainClass{ static void Main() { Test p1 = new Test(); Console.Writ...
阅读全文
摘要:在C#语言中,符合公共语言规范(CLS)的数据类型可分为两类:值类型和引用类型。 值类型变量直接保存变量的值,引用类型的变量保存的是数据(对象)的引用地址。 当把一个值变量赋给另一个值变量,会在栈中复制一个相同的值,每个变量的值都是独立的,因此对一个变量的操作不会影响到其他变量; 而把一个引用变量赋给另一个引用变量,则会在栈中复制对同一堆位置的引用,对一个变量的数据进行操作就是对这个变量在堆中的数据进行操作,另一个变量也跟着改变。1.值类型有整型(sbyte,byte,short,ushort,int,uint,long,ulong)浮点型(float,double,decimal)布尔...
阅读全文
摘要:引言 数据库的设计范式是数据库设计所需要满足的规范,满足这些规范的数据库是简洁的、结构明晰的,同时,不会发生插入(insert)、删除(delete)和更新(update)操作异常。反之则是乱七八糟,不仅给数据库的编程人员制造麻烦,而且面目可憎,可能存储了大量不需要的冗余信息。 设计范式是不是很难懂呢?非也,大学教材上给我们一堆数学公式我们当然看不懂,也记不住。所以我们很多人就根本不按照范式来设计数据库。 实质上,设计范式用很形象、很简洁的话语就能说清楚,道明白。本文将对范式进行通俗地说明,并以笔者曾经设计的一个简单论坛的数据库为例来讲解怎样将这些范式应用于实际工程。 另外不要迷信范式...
阅读全文
浙公网安备 33010602011771号