java-实用的sql语句
一、在数据库创建表格的SQL语句
1,创建一个link表格,包含属性:lid 主键,title 标题, imgpath 图片地址 , url 网址 , info 说明, isshow 显示1, 不显示0 , sort 顺序
CREATE TABLE link ( //创建 link 表格
lid INT AUTO_INCREMENT PRIMARY KEY, //设置为主键
title VARCHAR(100), //varchar类型,最大可存100字符
imgpath VARCHAR(50),
url VARCHAR(50),
info VARCHAR(200),
isshow INT, //int类型,无限制
sort INT //注意,最后一个不用加逗号
)
CREATE TABLE role(
uid INT AUTO_INCREMENT PRIMARY KEY,
uname VARCHAR(30),
upwd VARCHAR(30),
state INT
);
CREATE TABLE role(
rid INT AUTO_INCREMENT PRIMARY KEY,
rname VARCHAR(30),
sort INT
);
2,使用外键创建用户角色表 users_role
CREATE TABLE users_role(
uid INT REFERENCES users(uid), //uid 用户外键(使用了users表中的uid属性)
rid INT REFERENCES role(rid) //rid 角色外键(使用了role表中的rid属性)
)
3,创建一个视图vUsersAndRole(根据users表和role表)[视图是一个虚拟的表格,实际不存在这个表格,只是将相关表格的数据通过视图显示出来了]
CREATE VIEW vUsersAndRole
AS
SELECT users.*,role.rid,role.rname,role.sort //选择了users的所有属性,以及role中的rid,rname,sort
FROM users,role, users_role //从三个表中获取数据
WHERE users.uid = users_role.uid //将中间表的 uid赋给users.uid达到关联并避免重复
AND role.rid = users_role.rid
二、在方法中执行的SQL语句
1,向表格 link 添加数据,null表示主键,并且这个主键是自动增长的,“?”表示可传入的参数,数量根据表格自定义,一般用于手动输入参数
String sql = "INSERT INTO link VALUES(NULL,?,?,?,?,?,?)";
2,删除表格中的某一行数据,“ "+lid+" ” 表示 从某出获取的参数,用来定位要删除的数据,一般用于选择动作获取到的参数
String sql = "DELETE FROM link WHERE lid IN ("+lid+")";
3,修改表中的数据,选择后使用 set 重新设置对应的参数
String sql = "UPDATE link SET titel=?,imgpath=?,url=?,info=?,isshow=?,sort=? WHERE lid=?";
4,选择表格,并依据 参数 sort 来排序
String sql = "SELECT * FROM link order by sort ";
5,查找表格,根据参数 lid,一般用于查看表中的数据
String sql = "SELECT * FROM link where lid=?";
6,选择表格中限定的参数
String sql = "SELECT * FROM link order by sort limit "+(pageNo-1)*pageSize+","+pageSize+" ";
7,返回表格中的数量
String sql = "SELECT count(*) FROM link ";
8,这里是查询视图 vroleAndGrante 的格式,依据选中的rid,注意格式!!!
String sql = "select * from vroleAndGrante where rid="+rid;
9,通过主键查询视图Vusers_role_grante中的一条信息,这里的主键是 gname
String sql = "SELECT gname FROM Vusers_role_grante WHERE uid=? GROUP BY gname";
java-实用的sql语句的更多相关文章
- java中的sql语句中如果有like怎么写
我先是在SQL server中写了如下语句: 这样是顺利执行的,可是我把这句话复制到Java代码中打出来却报错了, 刚开始我还以为是前端没有传回来值,待我一句一句打印发现,它提示我rs没有next.到 ...
- java中写sql语句的小小细节
来源于:http://www.cnblogs.com/reine98/p/6180472.html 看如下一条sql语句 1 2 3 4 5 6 String sql="SELECT * F ...
- Java 实现对Sql语句解析
原文地址:http://www.cnblogs.com/zcftech/archive/2013/06/10/3131286.html 最近要实现一个简易的数据库系统,除了要考虑如何高效的存储和访问数 ...
- java/jsp执行sql语句的方式
首先给出sql驱动包 引入sql包 import java.sql.*;//java <%@ page import="java.sql.*"%>//jsp 连接mys ...
- 部分实用的SQL语句
一.在数据库创建表格的SQL语句 1,创建一个link表格,包含属性:lid 主键,title 标题, imgpath 图片地址 , url 网址 , info 说明, isshow 显示1 ...
- java动态拼接sql语句并且执行时给sql语句的参数赋值
问题 在这里举一个例子,比如我要做一个多条件模糊查询,用户输入的时候有可能输入一个条件,也有可能输入两个条件,这时执行查询的sql语句就不确定了,但可以用动态拼接sql语句来解决这个问题. 解决方法 ...
- 实用的SQL语句
行列互转 ) select * from test2 --列转行 select id,name,quarter,profile from test2 unpivot ( profile for qua ...
- 关于推荐库位 java前端与SQL语句后面的结合
----------------------------------------------------------------------------------- select a1.id,a1. ...
- JAVA程序中SQL语句无法传递中文参数
vi /etc/my.cnf [mysqld]# The default character set that will be used when a new schema or table is# ...
- SqlServer下一些实用的sql语句收集
清理数据库日志 USE [master] ALTER DATABASE [表名] SET RECOVERY SIMPLE WITH NO_WAIT ALTER DATABASE [表名] SET RE ...
随机推荐
- 运用busybox构建最小根文件系统
平台:vmware下ubuntu14.04前期准备:安装交叉编译环境arm-linux-gcc-4.5.1;下载完成BusyBox 1.23.2一.busybox构建1.make menuconfig ...
- typescript入门,可以一起探讨提点意见互相学习。
typescript是js的一个超集,TypeScript扩展了JavaScript的语法,所以任何现有的JavaScript程序可以不加改变的在TypeScript下工作.TypeScript是为大 ...
- 笔记-jinja2语法
笔记-jinja2语法 1. 基本语法 控制结构 {% %} 变量取值 {{ }} 注释 {# #} 2. 变量 最常用的是变量,由Flask渲染模板时传过来,比如上例中的”nam ...
- VINS(五)非线性优化与在线标定调整
首先根据最大后验估计(Maximum a posteriori estimation,MAP)构建非线性优化的目标函数. 初始化过程通过线性求解直接会给出一个状态的初值,而非线性优化的过程关键在于求解 ...
- Error starting mongod. /var/run/mongodb/mongod.pid exists.启动mongodb报错
linux上安装mongodb,启动时报上面的错,解决如下: 解决方法: 1.删除mongod.pid文件 rm -rf /var/run/mongodb/mongod.pid 2.修改/tmp/mo ...
- GoF设计模式
GOF23种设计模式简介 GoF(“四人帮”,指Gamma, Helm, Johnson & Vlissides, Addison-Wesley四人)提出的23种设计模式可谓经典,由于其定义比 ...
- 03-JVM内存模型:堆与方法区
一.堆(Heap) 1.1.什么是堆 堆是用于存放对象的内存区域.因此,它是垃圾收集器(GC)管理的主要目标.其具有以下特点: 堆在逻辑上划分为“新生代”和“老年代”.由于JAVA中的对象大部分是朝生 ...
- 了解Python控制流语句——while 语句
while 语句 Python 中 while 语句能够让你在条件为真的前提下重复执行某块语句. while 语句是 循环(Looping) 语句的一种.while 语句同样可以拥有 else 子句作 ...
- Java并发基础--Lock的学习
一.Lock的出现 Lock的主要作用实现线程之间的同步互斥,与synchronized关键字的效果是一样的,synchronized是Java语言内置的特性,那么为什么又出现了Lock呢?原因是sy ...
- spark操作数据库的几种方法
一.使用jdbcRDD的接口: SparkConf conf = new SparkConf(); conf.setAppName("Simple Application").se ...