当前位置: 首页>数据库>正文

mysql 开启事务begin mysql开发技巧事务educoder

我算是最近正式才接触后端开发,陆陆续续整理做了一些MySQL、SQLServerr数据库开发方面的笔记,但是由于MySQL和SQLServer的sql写法很多地方不太一样,所以我还是会尽量分开做笔记。

主要包括以下几个方面:

1.Navicat中调用MySQL命令行

2.MySQL的数字varchar字段按数字进行排序

3.VS ADO开发添加数据源

4.查询表字段信息的SQL语句


5.数据库用户信息的密码存储技巧


MySQL数据库,在使用Navicat工具连接数据库的时候调出命令行的方法:

如下图步骤,或者,选中数据库直接右键也有命令行选项。



mysql 开启事务begin mysql开发技巧事务educoder,mysql 开启事务begin mysql开发技巧事务educoder_MySQL,第1张





MySQL按主键ID varchar排序问题




mysql 开启事务begin mysql开发技巧事务educoder,mysql 开启事务begin mysql开发技巧事务educoder_查询表信息_02,第2张


如下表,我建立一个 id为varchar(20)类型的表,id是字符串的情况下,使用一般的 select MAX(role_table.id) from role_table的语句想要获取最大ID就会出问题,这是因为按字母序排序12不是最大的ID了。



mysql 开启事务begin mysql开发技巧事务educoder,mysql 开启事务begin mysql开发技巧事务educoder_MySQL_03,第3张


因此,为了保险起见,sql获取字符串型的id,可以改为id+0,相当于将将主键按数字处理进行排序。即:select MAX(role_table.id+0) from role_table就可以拿到我们需要的最大id了。



mysql 开启事务begin mysql开发技巧事务educoder,mysql 开启事务begin mysql开发技巧事务educoder_MySQL_04,第4张



在使用VS ADO开发的过程中,添加MySQL数据源:


用于方便连接数据库或从数据库表生成表结构代码,这个是生成数据类一个挂在到“实体对象”Model子节点下了,我不习惯用,不推荐。


需要先安装一个插件,见链接说明



另一个生成数据表结构类的方式:CodeMatic,中文软件名叫动软代码生成器。



MySQL的一些有用SQL语句

-- 先获取所有的表名 

 
-- show tables 
 
  
 

  -- 获取user表的所有字段名(包括内建非用户定义的),以及对应字段类型,需要自己进一步过滤! 

 
-- SELECT COLUMN_NAME,COLUMN_TYPE FROM information_schema.columns WHERE table_name='user' 
 

  -- 获取第一条元素,用来得知所有列明 

 

  -- select * from user limit 1



-- 获取所有字段信息,以及字段备注


SHOW FULL FIELDS FROM USER



PS:补充一个SQLServer获取字段和字段备注的方法。在SQLServer中,获取表'HELLO'所有字段名和备注:

SELECT a.name , isnull(g.[value],'-') AS comment
 
FROM sys.columns a left join sys.extended_properties g
 
 on (a.object_id = g.major_id AND g.minor_id = a.column_id)
 
WHERE object_id = (SELECT object_id FROM sys.tables WHERE name = 'HELLO  ')


mysql 开启事务begin mysql开发技巧事务educoder,mysql 开启事务begin mysql开发技巧事务educoder_查询表信息_05,第5张


数据库用户密码开发技巧


用户表的密码怎么保存,不保存明文,而是保存密文!即存加密后的MD5,这样从MD5码也无法反向解析出原密码。并且,每次登陆的时候,输入密码,计算一下MD5跟数据库存的MD5对比下是否一致,一致才允许用户登录。



https://www.xamrdz.com/database/6g61937397.html

相关文章: