部分实用的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";
部分实用的SQL语句的更多相关文章
- 实用的SQL语句
行列互转 ) select * from test2 --列转行 select id,name,quarter,profile from test2 unpivot ( profile for qua ...
- SqlServer下一些实用的sql语句收集
清理数据库日志 USE [master] ALTER DATABASE [表名] SET RECOVERY SIMPLE WITH NO_WAIT ALTER DATABASE [表名] SET RE ...
- 实用SQL语句大全
一.基础 1.说明:创建数据库 CREATE DATABASE database-name 2.说明:删除数据库 drop database dbname 3.说明:备份sql server --- ...
- 程序员实用的 MySQL sql 语句
这儿只讲究实用, 程序员编程时常用到的 MySQL的 sql语句(不包括基本的 select, update, delete 等语句). 1. 添加一个用户build,并赋予所有权限的命令 gran ...
- .NET Core实用技巧(一)如何将EF Core生成的SQL语句显示在控制台中
目录 .NET Core实用技巧(一)如何将EF Core生成的SQL语句显示在控制台中 前言 笔者最近在开发和维护一个.NET Core项目,其中使用几个非常有意思的.NET Core相关的扩展,在 ...
- MySQL中特别实用的几种SQL语句送给大家
在写SQL时,经常灵活运用一些SQL语句编写的技巧,可以大大简化程序逻辑.减少程序与数据库的交互次数,有利于数据库高可用性,同时也能显得你的SQL很牛B,让同事们眼前一亮. 目录 实用的SQL 1.插 ...
- T-SQL实用查询之常用SQL语句
删除数据库所有的表: declare @sql varchar() begin SELECT @sql='drop table ' + name FROM sysobjects WHERE (type ...
- SQL SERVER 数据库实用SQL语句
--查看指定表的外键约束 select * from sysobjects where parent_obj in( select id from sysobjects where name='表名' ...
- 简单实用 “易忘” 的SQL 语句语法,新老皆宜
--创建数据库 create database 数据库名 on primary ( name='数据库名_data', filename='数据库储存路径', size=数据库初始大小(MB), ...
随机推荐
- ASP.NET-FineUI开发实践-12
1.网上找到了行合并的示例,extjs写的,我把它挪过来改了下,FineUI也能用,就是只能放着看,选择和编辑行扩展列没有测试,放出来大家看着用吧. <script> F.ready(fu ...
- Dialog式的Activity(AndroidActivity生命周期)
概述 和普通的Activity跳转稍微不同的是,当第1个Activity跳转到第二个Activity后,如果点击'back'按钮(即Android键盘的按钮,则不会调用调用第一个Activity的on ...
- 创建 序列 存储过程 job
掌握了 oracle中的 dbms_lock 函数,该函数 主要用于暂停执行的程序 1.用意 写job 以10分钟 为单元,前10分钟 从 1到10 插入测试表, 中间10分钟从 11到20插入测试表 ...
- AutoLayout(转)
转自 http://blog.sina.com.cn/s/blog_9564cb6e0101wv9o.html controller和View的责任分配: 1.View指定固有的content ...
- Sql Server 远程过程调用失败
很多搞开发的同志们,相信在刚刚使用sql server2008+c#2012(2012以上版本)会出现下面图片中的问题,这时因为安装Visual Studio 2013或者2012版本的时候,会自动安 ...
- 记录GDI 文本的设置
需要说明的是,在GDI+中,我们可以通过SetTextRenderingHint来控制文本输出的质量.例如下面的代码,其结果如图7.15所示. Graphics graphics( pDC->m ...
- .net截取指定长度汉字超出部分以指定的字符代替
下面是我在网上搜索,然后加以整理的关于在.net中截取指定长度汉字超出部分以指定的字符代替,来拓展一下自己的思路. 方法一 :在后台的select语句中直接操作或是在数据库中写一个存储过程 Selec ...
- CentOS6.5安装LAMP环境的前期准备
首先需要按照前一篇<CentOS 6.5下安装MySql 5.7>的安装步骤配置好防火墙.关闭 SELINUX 1.编译安装libxml2注:libxml2是一个xml的c语言版的解析器, ...
- 看源码之Adapter和AdapterView之间的关系
总述 Android中"列表"的实现其实一个典型的MVC模式,其实中AdapterView相当于是View,负责视图的绘制以及视图的事件响应,Adapter相当于是Controll ...
- 简述Seesion和Cookie
1.0 为什么需要session和cookie? 当用户在发送一个请求关得到返回信息之后,客户端与服务器端之间的网络连接就已经断开了,在下一个请求发送时,服务器无法确定这次请求和上次的请求是否来自同一 ...