一、在数据库创建表格的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. UniqueID和ClientID的来源

    在<漫话ID>一文中,作者提出了一个问题:为什么在ItemCreated事件中访问ClientID会导致MyButton无法响应事件,事实上 MyButton无法响应事件是因为他在客户端的 ...

  2. web-请求无缓存

    <head><META HTTP-EQUIV="pragma" CONTENT="no-cache"><META HTTP-EQU ...

  3. Wpf 数据绑定简介、实例1

    简介:1.WPF绑定使用的源属性必须是依赖项属性,这是因为依赖项属性具有内置的更改通知支持,元素绑定表达式使用了Xaml扩展标记, WPF绑定一个控件是使用Binding.ElementName, 绑 ...

  4. HTML5 ArrayBuffer:类型化数组 (二)

    类型化数组是JavaScript操作二进制数据的一个接口. 这要从WebGL项目的诞生说起,所谓WebGL,就是指浏览器与显卡之间的通信接口,为了满足JavaScript与显卡之间大量的.实时的数据交 ...

  5. AFNetworking使用详解

    导语: 众所周知,AFNetworking是目前IOS开发中非常受欢迎的第三方网络通信类库,同时AFNetworking对苹果官方NSURLConnection和NSURLSession进行了封装,使 ...

  6. 解决tomcat占用8080端口问题

    在dos下,输入  netstat   -ano|findstr  8080 //说明:查看占用8080端口的进程 显示占用端口的进程 askkill  /pid  44464  /f  //说明,运 ...

  7. python -- 函数传参

    一.参数传入规则 可变参数允许传入0个或任意个参数,在函数调用时自动组装成一个tuple: 关键字参数允许传入0个或任意个参数,在函数调用时自动组装成一个dict: 1. 传入可变参数: def ca ...

  8. Python学习笔记:04函数

    Python 函数 通过分而治之的方法解决问题是一种很自然的思路.函数就是将解决特定问题的方法进行抽象. def fibs(num): 'calculate the first num th fib ...

  9. 转:使用Android API最佳实践

    原文来自于:http://blog.jobbole.com/65170/ 写在前面 现在,Android应用程序中集成第三方API已十分流行.应用程序都有自己的网络操作和缓存处理机制,但是大部分比较脆 ...

  10. COS访谈第十八期:陈天奇

    COS访谈第十八期:陈天奇 [COS编辑部按] 受访者:陈天奇      采访者:何通   编辑:王小宁 简介:陈天奇,华盛顿大学计算机系博士生,研究方向为大规模机器学习.他曾获得KDD CUP 20 ...