一、在数据库创建表格的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. mvc存储Cookie和读取Cookie方法

    mvc存储Cookie和读取Cookie方法: //存储 HttpCookie cookie = new HttpCookie("User"); System.Text.Encod ...

  2. INSTALL_PARSE_FAILED_MANIFEST_MALFORMED 错误

    在eclipse编译好文件之后,往AVD中安装apk,报错如下:INSTALL_PARSE_FAILED_MANIFEST_MALFORMED一般来说只需要检查AndroidManifest.xml中 ...

  3. MVC +EF+linq 多表联查

    关于linq的多表联查效果的实现: 后台多表查询  内连接: SELECT [Extent2].[partID] AS [partID], [Extent1].[userName] AS [userN ...

  4. C#实现发送邮件

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  5. C# - 二叉树表达式计算

    很早以前就写过双栈的表达式计算. 这次因为想深入学一下二叉树,网上都是些老掉牙的关于二叉树的基本操作. 感觉如果就学那些概念,没意思也不好记忆.于是动手写了一个表达式计算的应用例子. 这样学习印象才深 ...

  6. 黑马程序员-for和foreach

    class Program { static void Main(string[] args) { Console.WriteLine("***第一种情况****************** ...

  7. Python Function Note

    Python Function Note #汉诺塔问题Python实现 def my_move(n, a, b, c): if n == 1: print(a + ' --> ' + c) el ...

  8. javaScript 手写图片轮播

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  9. WebService笔记-Schema约束

                        Schema约束 俗话说得好 好记性不如烂笔头. 看了下WebService视频,觉得还是得下笔记. 观看的视频地址:http://edu.51cto.com/ ...

  10. javaScript高程第三版读书笔记

    看完<dom编程艺术>现在准备读进阶版的js高程了,由于篇幅较长,所以利用刚看完<dom编程艺术>学到的知识写了段JavaScript代码,来折叠各章的内容.并且应用到了< ...