部分实用的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), ...
随机推荐
- oracle 关于动态执行语句 execute immediate 的用法
当在开发的应用场景中 数据库处理复杂业务逻辑里用到 SQL 语句拼接 可以用 execute immediate 来执行语 举个例子 insert into tb_temp_public( ...
- Android permission访问权限大全
1.android.permission.WRITE_USER_DICTIONARY 允许应用程序向用户词典中写入新词 2.android.permission.WRITE_SYNC_SETTINGS ...
- 报错:ORA-02287: 此处不允许序号
CREATE TABLE MY_TAB (N1 NUMBER(5),N2 DATE); SELECT * FROM MY_TAB; CREATE SEQUENCE ...
- JAVA-4-斐波列
public class Ch049 { public static void main(String[] args) { // TODO 自动生成的方法存根 int a = 1, b = 1; fo ...
- C++ Primer 5th 第16章 模板与泛型编程
模板是C++中泛型编程的基础,一个模板就是创建一个类或者函数的蓝图或者说公式. C++模板分为函数模板和类模板. 类模板则可以是整个类是个模板,类的某个成员函数是个模板,以及类本身和成员函数分别是不同 ...
- 04_RHEL7.1忘记root密码
在开机进入启动项时,选择需要重设密码的那个启动项 按e进入编辑模式,找到rhgb和quiet参数(几乎在最下面),替换为 init=/bin/sh 按ctrl+X不需密码进入shell 以rw的方式重 ...
- 88 Merge Sorted Array(归并排序Easy)
题目意思:num1和num2均为递增数组,对其进行递增排序存到num1中 class Solution { public: void merge(vector<int>& nums ...
- python -- 函数传参
一.参数传入规则 可变参数允许传入0个或任意个参数,在函数调用时自动组装成一个tuple: 关键字参数允许传入0个或任意个参数,在函数调用时自动组装成一个dict: 1. 传入可变参数: def ca ...
- 调试器带参数调试(OD,EDB)
小东西,不要在意这些细节-- OD带参数比较简单: 文件-- 打开 -- 在最下面有一个参数 KALI LINUX下的EDB 命令格式为 edb –run "对应程序路径" ...
- C51 库函数(1)
C-51软件包的库包含标准的应用程序,每个函数都在相应的头文件(.h)中有原型声明.如果使用库函数,必须在源程序中用预编译指令定义与该函数相关的头文件(包含了该函数的原型声明).例如: #includ ...