mysql的SQL用法及Navicat的相关使用 |
您所在的位置:网站首页 › navicat在表中添加数据 › mysql的SQL用法及Navicat的相关使用 |
以下语法均在mysql 8.0下 一.建立约束:数据库中约束分为一下几种 ●主键约束(Primary Key constraint):要求主键列数据唯一,并且不允许为空。 ●唯一约束(Unique constraint):要求该列唯一,允许为空,但只能出现一个空值 ●检查约束(Check constraint):某列取值范围限制,格式限制等,如有关年龄、性别的约束。 ●默认约束(Default constraint):某列的默认值,如在数据库里有一项数据很多重复,可以设为默认值。 ●外键约束(Foreign Key constraint):用于在两个表之间建立关系,需要指定引用主表的哪一列。 1、navicat中沒有可视化添加约束的选项,所以只能用代码添加。 直接新建查询,然后用代码添加。 alter table `LoginTable` add CONSTRAINT check_sex(约束名字) CHECK(Lsex="男" or Lsex="女") --CHECK后面是列的值建立约束成功后,如果添加的值不是约束中的值,则会报错。 3、设置默认约束 两个alter关键字 alter table table_name alter column Paddress set default '地址不详' 二.建立外键时报错3780 Referencing column ‘%s’ and referenced column ‘%s’ in foreign key constraint ‘%s’ are incompatible ![]() 主要就是三大类:Statement 、PreparedStatement 、CallableStatemet execQuery() 查询用结果集ResultSet接收 // 建立存储过程调用对象 CallableStatement对象 CallableStatement clbStmt = null; ResultSet res = null; // 结果集对象 try { // 获取数据库连接 conn = getConnection(); // 创建CallableStatement对象 clbStmt = conn.prepareCall("{CALL proc_search_user(?,?,?,?)}"); // 设置输入参数 clbStmt.setInt(1, 3); // 第一个参数设值 clbStmt.setInt(2, 10); // 第二个参数设值 /** *从SQL获取的接收的参数需要自己设置 **/ clbStmt.registerOutParameter(3, Types.INTEGER); clbStmt.registerOutParameter(4, Types.INTEGER); // 执行调用存储过程,并获取结果集 //一般调用查询的化返回集用REsultSet对象去接收 res = clbStmt.executeQuery(); // 循环遍历结果集 while (res.next()) { // 获取列值 如果参数是字符串的话表示,在存储过程的参数名。 int id = res.getInt("id"); String name = res.getString("name"); Timestamp createTime = res.getTimestamp("create_time"); // 输出列值 System.out.println("编号:" + id + " 姓名:" + name + " 创建时间:" + createTime); } 4. SQL字符连接CONCAT函数使用&模糊搜索1 很多情况我们需要使用从未界传入的字符串利用 LIKE %外界传入的字符串% 来搜索,但mysql中不能直接用"+"来 拼接字符串。 我们可以使用SQL中的CONCAT函数来拼接字符串:CONCAT(str1,str2,…)。 CREATE DEFINER=`root`@`%` PROCEDURE `a`(IN `inpur` varchar(255)) BEGIN #Routine body goes here... -- SELECT CONCAT('你好','%'); END运行结果: 获得所有匹配结果: 运行结果: 在实际中我们添加表的数据是时间或时间戳类型。 1、NOW() 返回当前的日期和时间 其他时间函数:图片截取W3school。 mysql 中保存的这些触发器、约束、索引等数据库对象都统一保存在 information_schema 这个数据库中。 ![]() ![]() ![]() ![]() 除法运算的概念在次就不赘述了。 首先需要清楚除法是关系代数中的一种运算,在衍生到数据中,除操作非常适合用于求“至少使用了…的全部”之类的查询。 sql语言并没有定义除操作,甚至连全称量词都没有,但是有存在量词EXISTS 和 NOT EXISTS,所以通常的思路就是将全程量词转变为存在量词来实现除操作。 具体的就是用外连接和存在量词配合来构造成出运算。 更多SQL详细用法详见W3school的文档 https://www.w3school.com.cn/sql/sql_like.asp |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |