前言
我是个学习东西不太扎实的人,一门新东西常常学的基础不牢固,而且即使看到以后很快就忘记了,所以写下平时开发时候碰到的我学习的时候没认真体会的小细节,这样补补也可以让自己逐渐把基础给弄牢固点。
今天遇到.net的操作符和数据库方面的问题,突然发现对于数据库的sql语言在当今可视化工具横行时候已经弱化了很多。认真的查阅了几篇文章,总算对以前用的很少的sql语句了解了很多。
一 .net 基础
以前对于equals和“==”两个运算符还算有点了解,可是一旦真正要深入到本质的时候却懵了。认真的搜索了下,在一篇文章里面找到了答案。
这两个运算符对于值类型和引用类型的处理会有细微的区别:
对于值类型
在均是内部值类型的前提下,equals比较的要求更严格,它不仅仅要求类型相同也要求值相同,而“==”仅仅要求值相同即可,它会进行类型转换的。如果是自定义类型如struct,如果该类型未重载“=="运算符,则无法对该类型使用"==",而equals则要求struct的成员类型要一致。
对于引用类型
两个运算符默认均是看是否指向同一个对象。比如string类就重载了所以equals和==都是比较其内容是否相同。
二 sql基础
以前对于sql语言中如何建立表,修改表结构,定义主键的sql语句没用过,所以也没记在大脑里
ddl 数据定义命令 常见的create和drop ;
dml 数据操作命令 常见的是insert,delete,update
create table tablename(columnname type elseconstraitinfo,……)
drop table tablename;
alter table tablename add/drop/alter column columnname
对于存储过程的创建则
如果是oracle
create or replace prcedure procedurename(param1 paramdirection type,……)is elseparam
begin …… end procedurename
如果是sqlserver
create procedure procedurename
param1 type paramdirection,……
as
elseparam
……
go