一、在数据库创建表格的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";

部分实用的SQL语句的更多相关文章

  1. 实用的SQL语句

    行列互转 ) select * from test2 --列转行 select id,name,quarter,profile from test2 unpivot ( profile for qua ...

  2. SqlServer下一些实用的sql语句收集

    清理数据库日志 USE [master] ALTER DATABASE [表名] SET RECOVERY SIMPLE WITH NO_WAIT ALTER DATABASE [表名] SET RE ...

  3. 实用SQL语句大全

    一.基础 1.说明:创建数据库 CREATE DATABASE database-name 2.说明:删除数据库 drop database dbname 3.说明:备份sql server --- ...

  4. 程序员实用的 MySQL sql 语句

    这儿只讲究实用,  程序员编程时常用到的 MySQL的 sql语句(不包括基本的 select, update, delete 等语句). 1. 添加一个用户build,并赋予所有权限的命令 gran ...

  5. .NET Core实用技巧(一)如何将EF Core生成的SQL语句显示在控制台中

    目录 .NET Core实用技巧(一)如何将EF Core生成的SQL语句显示在控制台中 前言 笔者最近在开发和维护一个.NET Core项目,其中使用几个非常有意思的.NET Core相关的扩展,在 ...

  6. MySQL中特别实用的几种SQL语句送给大家

    在写SQL时,经常灵活运用一些SQL语句编写的技巧,可以大大简化程序逻辑.减少程序与数据库的交互次数,有利于数据库高可用性,同时也能显得你的SQL很牛B,让同事们眼前一亮. 目录 实用的SQL 1.插 ...

  7. T-SQL实用查询之常用SQL语句

    删除数据库所有的表: declare @sql varchar() begin SELECT @sql='drop table ' + name FROM sysobjects WHERE (type ...

  8. SQL SERVER 数据库实用SQL语句

    --查看指定表的外键约束 select * from sysobjects where parent_obj in( select id from sysobjects where name='表名' ...

  9. 简单实用 “易忘” 的SQL 语句语法,新老皆宜

    --创建数据库 create database 数据库名 on primary ( name='数据库名_data',  filename='数据库储存路径', size=数据库初始大小(MB),   ...

随机推荐

  1. OD: Peimei & Versioning Analysis

    PE 中漫步—“白眉” 指令追踪技术与 Paimei 程序异常发生的位置通常离漏洞函数很远,当溢出发生时,栈帧往往也会遭到破坏,给动态调试制造很大的困难. 指令追踪最大限度地结合了动态分析和静态分析的 ...

  2. OJ常见问题及必须认识的对拍处理水题

    HDUOJ: 常见问题及解答 Q: Online Judge(以下简称OJ)支持哪些语言? A: 目前为止,HDOJ支持C.C++.Pascal和Java四种语言. Q: 有什么条件判断我的程序是在O ...

  3. jQuery创建ajax关键词数据搜索

    在web开发过程当中,我们经常需要在前台页面输入关键词进行数据的搜索,我们通常使用的搜索方式是将搜索结果用另一个页面显示,这样的方式对于搭建高性能网站来说不是最合适的,今天给大家分享一下如何使用 jQ ...

  4. Python sys.path.append

    python sys.path.append 对于模块和自己写的程序不在同一个目录下,可以把模块的路径通过sys.path.append(路径)添加到程序中. 在程序开头加上: import syss ...

  5. 在浏览器运行 java applet时遇到的一些问题及其解决方法

    运行 java applet时提示:您的安全设置已阻止本地应用程序运行,如何解决?如下图所示 这时候通过设置java的安全级别就可以了. 控制面板->程序->Java->安全 将安全 ...

  6. 【USACO 1.5.4】跳棋的挑战

    [问题描述] 检查一个如下的6 x 6的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行,每列,每条对角线(包括两条主对角线的所有对角线)上都至多有一个棋子,如下例,就是一种正确的布局. 上面的布局可以用 ...

  7. python+flask+mongodb+whoosh实现自己的搜索引擎(一):目录

    python+flask+jieba+mongodb+whoosh实现自己的搜索引擎 一.目录 二.基于python的爬虫 三.网页去燥,URL去重 四.基于mongodb的数据存储 五.基于whoo ...

  8. sencha Touch 的 DatePickerField等时间的汉化

    对于datepickerfiled dateFormat 时间格式 Y-m-d w星期几    W 一年第多少周 时间的初始化 mydatefield.setValue( { year:2013, m ...

  9. centos 安装 mongo3.0

    官方网站传贴,每次去翻doc,麻烦 vi  /etc/yum.repos.d/mongodb-org-3.0.repo [mongodb-org-3.0]name=MongoDB Repository ...

  10. 移动app测试浅析

    移动App测试浅析 1. 移动App测试的现状及其挑战 移动互联网走到今天,App寡头化的趋势已经越来越明显,同时用户的口味越来越高,这对移动App开发者提出了更高的要求.几年前可能你有一个创意,随便 ...