您的位置:首页 > 编程语言 > Java开发

java-实用的sql语句

2017-01-11 16:13 357 查看
一、在数据库创建表格的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";



看到的是差距,看不到的也是差距! 陌陌带你一起寻找差距
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: