`
yaodaqing
  • 浏览: 349536 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

SQL语句用法总结

阅读更多
mysql数据库SQL语言的运用(其他数据库不一定行)。
创建库	create database 库名;
删除库	drop database 库名;	
使用库	use 库名;
===============================
===============================
查	select * from 表名

01、查询字段不为空(如果一个字段里面为null表示内容为null,并不是正在的空)
    select * from 表名 where date is not null;

02、消除重复的数据
    select distinct(字段) from 表明 where 字段;

03、查询一个表中所有字段,如果要消除某个字段的重复行,就是只显示一条,但是也要查询出其他数据(t_table,id,a,b,c,d,e,f)
    select * from t_table group by name;
    select *, count(name) from t_table group by name;	查询所有字段,并按照name字段分组,如果有重复只取一条,并统计总条数
    select *, count(distinct c) from t_table group by c order by 时间 desc;	并按照时间降序排列
    select * from t_table as a where (select count(*) from t_table where c = a.c and id <= a.id) = 1   语句没问题但是不明白

04、一篇文章分为很多章节,每个章节都有浏览次数,需要查询这篇文章所有章节总浏览次数
    select sum(浏览次数字段) from 表明 where 文章字段='文章名字';

05、多篇文章,每篇文章分为很多章节,每个章节都有浏览次数,求每篇文章总浏览次数,同时需要查询其他字段
    select id,...,文章字段,sum(浏览次数) from 表明 group by 文章字段;
    select min(id),...,文章字段,sum(浏览次数) from 表明 group by 文章字段;	并且求id为最小值的

06、查看一个表中总共有多少条数据
    select count(*) from 表明;

07、查看表的创建语句(表后面有InnoDB表示支持事务)
    show create table 表明;

08、统计分组并求总条数
    select count(t_table.tsmc) from (select c.tsmc as tsmc from unis_tsgl c where c.userid='system' group by c.tsmc) as t_table
09、

10、

1、查找相同的最大数:括号里面的语句是找出最大值,外面的就是条件对于最大值的
select * from 表名 where age in (select max(age) from 表名);  单独取出最大的数,包括多条的最大数
select * from 表明 order by 字段 desc;                        由大到小的取出所有信息
select a.name,c.tslm,c.tsfl,c.tsmc,c.scsj from code_bookgenus a,code_booktype b,unis_tsgl c where a.code=c.tslm and b.code=c.tsfl and  c.tslm=12 order by c.scsj desc  limit 3	
查询三个表,并按照上传时间降序排列取出三条数据(where\order by\desc\limit连用),但是降序后不可以随便取第几条到第几条值
2、四张表中三张是基础表,一张表是总表,总表中涉及到基础表的都是存放的代码,要查出基础表中的信息
	req是指另外一个页面传递过来的id然后根据id来查找数
select b.name,c.name,d.name,a.* from unis_jyzb a,code_dealtype b,code_merchandise c,code_merchandise_class d where a.jylx= b.code and b.code = '" + req + "' and a.spxfl = c.code and a.spfl = d.code
3、模糊查询字段中姓名为姚的所有人
select g_name from g_cardapplydetail where g_name like '%姚%'
4、查询表中时间最新的一条数据并取一条
select id from unis_sqtz order by  tzsj desc limit 1

===============================
===============================
增	INSERT INTO表名(字段, 字段, …) 

01、例子,插入语句写法:
    INSERT INTO `unis_jysc_wypl` (`ID`,`PID`,`USERID`,`FBSJ`,`LY`) VALUES ('4','1','3','2008-11-16','第四条');

02、两个表,一样的数据结构我想把A表的所有内容插入到B表怎么实现?
    insert into b select * from a
    两个表,把a表中的sj字段数据插入到b表中的xm字段怎么实现?
    insert into b(xm) select sj from a

03、加载一个文件到MySQL数据库中(到单个表里)
    LOAD DATA LOCAL INFILE ‘C:/mysql.sql’ INTO TABLE 表名;

04、加载一个文件的方法(格式规范的文件)
    source 文件名
	例如(source C:/sql/bbscs6.sql)


===============================
===============================
删	DELETE FROM 表名 WHERE (条件)

01、删除一个表中id=2的值
	DELETE FROM `unis_jysc_wypl` WHERE (`ID`='2') 
02、两个表相关联删除(a表中存放了文章,b表中存放了文章的评论)
	DELETE  unis_jyzb .* , unis_jysc_wypl.* FROM unis_jyzb  LEFT JOIN unis_jysc_wypl  ON unis_jyzb.id=unis_jysc_wypl.pid  WHERE unis_jyzb.id='22';
03、模糊删除字段中姓名为李的所有人
	delete from 表明 where 字段 like '%李%'



===============================
===============================
改	UPDATE 表名 SET (字段=值, 字段=值, …) WHERE (条件)

01、两个表关联,修改此表中的字段减1操作
UPDATE unis_jyzb as a, unis_spxfltj as b SET b.statsum= b.statsum-1 WHERE a.jylx=b.code and a.id='30';






===============================================================================
1、截取字段用法:
	SELECT id, SUBSTRING(字段名, 1, 10) AS 别名 FROM 表明	(如果截取的时间相同,则无法排序)
	截取之后只能显示截取的部分,如果要显示所有提示信息,可以查一个字段两次。

2、limit说明:
	前面数字表示从第几个数开始(指针是从0开始),后面表示条数

3、字符串的各种截取方式
	http://www.sqlstudy.com/sql_article.php?id=2008091902

4、查看mysql端口号
	show variables like 'port';

5、设置MySQL可以远程访问(用户名和密码自己修改,可以和原来的用户名密码不同)
	grant all privileges on *.* to 'unisdq'@'%' identified by 'unisdq';
	flush privileges;

	客户端DOS远程登录到mysql数据库。
	mysql -h 192.168.100.33 -u root -p root;

6、查看mysql数据库常用的参数
	status;
	http://www.chinajvm.cn/?p=25
7、

================================================================================
mysql特性总结
1、查看mysql隔离级别(mysql有四个隔离级别1、Read Uncommitted 2、Read Commited 3、Repeatable Read 4、Serialiazble)
	select @@tx_isolation;
   修改mysql隔离级别(1到4是由低到高的级别)
	set transaction isolation level read uncommitted;

2、如果粘贴sql代码的时候出现字符错误。可以设置。
	set names gbk;

3、检查隔离级别(对事务的一些介绍;修改的隔离级别只会影响到当前的mysql窗口,不会影响到其他打开的mysql窗口)
	select @@tx_isolation;
	设置成读未提交级别:set transaction isolation level read uncommitted;
	设置成读已提交级别:set transaction isolation level read committed;
	设置成可重复读级别:set transaction isolation level repeatable read;	(mysql缺省的隔离级别)
	设置成可串行化级别:set transaction isolation level serializable;

	打开事务:start transaction;

4、

================================================================================
================================================================================
查询时的SQL注入:
1、select * from t_user where user_id=''or 1 or''	
	解决办法,交给相应数据库的驱动来过滤不合法的字符。


================================================================================
MySQL
学习总结:
1、mysql根据条件取值时,字段不能有空格。


================================================================================
数据库表字段属性介绍
varchar最大可以存放255个字符。
clob和blob属于大文本类型

================================================================================
遗留问题
	数据库里面的是中文,在DOS窗口里面用SQL语句查了显示出来却是乱码,为什么?hibernate_first中user表name字段

================================================================================
mysql与mssql的区别2008-08-13 14:47mysql与mssql的区别

    mssql 是微软的那个 SQL Server,运行于windows 2000,2003等平台

    mysql 是个开源的数据库Server,可运行在windows平台、unix\\linux平台,其标准版是免费的,可以到www.mysql.com 看看

    asp\\php只是一种解释语言,不一定mssql不能用php,也不一定mysql非得用php,只不过asp-mssql,php-mysql是一种常用的组合


    MsSql就是微软件的MS SQL SERVER。 
      MySQL是另一家公司的。 
       
      比较: 
      1。MsSQL体积大,MySQL体积小。 
      2。MsSQL只能用在Windows下,MySQL是多平台的. 
      3.MsSQL要钱,MySQL免费的(windows下是收费的,但很少)。


    MySQL 是专为WEB 数据库设计的,特点是响应速度特别快。 
      MSSQL 在这方面当然比不上。 
      至于稳定性嘛, 呵呵,微软的东西, 都不好说。。 
       
      我也试过WIN32下的MYSQL, 用DELPHI连接,几种连接方式都相当快。 
      当然, 其中是没有ADO连接的:) 
      做越大型的企业应用, MYSQL可能有些力不从心, 不过 
      MSSQL 也还是不如SYBASE和ORACLE的。 


    MySql短小精悍,象access一样的文件型数据库,但比access强百倍,是真正多用户多任务的数据库系统,
从Linux上移植过来的,安全性非常好,完全可以作为大型数据库使用,不过大部分操作是在dos下进行,
虽然也有第三方开发的图形界面但并不好用

    MsSql是微阮的产品一贯傻大笨粗,性能也强大,图形界面使用很方便,象个傻瓜相机一样,不过,也太大了,
很多不实用的东西 MSSQL 也就是SQL Server,由微软开发,是基于NT系统的数据库管理软件,也就是说仅能在WINDOWS系统下运行。


    而MYSQL是跨多平台的数据库管理软件,可运行于LINUX、NT、UNIX等系统,能够和PHP语言有效的结合。
    MSSQL需要占用许多系统资源,但功能强大,可支持命令和图形化管理,
    MYSQL有多种版本,也可支持命令和图形化管理,对于一般的数据库足以应付了,占用系统资源较少,速度较快,而且是开源的。

    mysql针对linux平台 主要结合php语言开发

    mssql针对win平台 主要结合asp语言开发


=====================================
Oracle数据库
在Oracle数据库中user是关键字,如果要想把表名定义为user,则在hibernate里面映射文件里面需要写为table="`user`"



























分享到:
评论

相关推荐

    SQLServer动态SQL语句的用法

    SQL Server 动态 SQL 语句的用法 SQL Server 中的动态 SQL 语句是一种灵活的查询方式,它可以根据不同的情况生成不同的 SQL 语句。动态 SQL 语句可以用来实现复杂的业务逻辑,提高查询效率和灵活性。 普通 SQL ...

    Java打印漂亮的SQL语句(被格式化的SQL语句)

    总的来说,Java打印漂亮的SQL语句是一个提高开发效率和代码质量的有效方法,通过使用如"PrettySQLFormatter"这样的工具,可以使得复杂的SQL查询变得更容易理解和维护,这对于大型项目或者涉及大量SQL操作的开发工作...

    java执行SQL语句实现查询的通用方法详解

    executeQuery()方法是Java执行SQL语句实现查询的核心方法,该方法将SQL语句执行结果放入Vector容器中,以便其他程序使用。 executeQuery()方法的参数包括clazz、sql和args三个参数,分别表示要查询的实体类、SQL...

    Delphi中sql语句的使用总结

    ### Delphi中SQL语句的使用总结 在Delphi中使用SQL语句是与数据库进行交互的重要手段之一。本文将详细介绍如何在Delphi环境中构造和执行SQL查询,并给出具体的示例来帮助理解。 #### 一、基本SQL查询的构建 在...

    hibernate执行原生sql语句

    "hibernate执行原生sql语句" Hibernate 是一种流行的 ORM(Object-Relational Mapping)框架,用于将 Java 对象映射到关系数据库中。然而,在一些情况下,我们需要直接执行原生 SQL 语句,而不是使用 Hibernate 的...

    查看LINQ生成SQL语句的几种方法

    在使用LINQ查询时,可以利用`Debug.WriteLine()`方法将生成的SQL语句打印到控制台。例如: ```csharp var query = (from customer in db.Customers where customer.City == "London" select customer); Debug....

    常见的sql语句用法

    这里主要介绍一些常见的SQL语句用法,涵盖了数据的创建、插入、删除、修改以及查询。 首先,创建表是数据库操作的基础。例如,创建一个名为`Student`的表,包含`Sno`(学生编号)、`Sname`(学生姓名)、`Ssex`...

    sql语句命令-sql语句命令sql语句命令

    总结来说,SQL语句命令在数据库操作中扮演着核心角色,而ADO.NET提供了SqlConnection、SqlCommand、SqlDataAdapter等类,使得与SQL Server和其他OLE DB兼容数据库的交互变得更加便捷。理解并熟练掌握这些工具,对于...

    自动生成SQL语句_C#_sql_

    总结,自动生成SQL语句在C#开发中是一项实用的技术,可以帮助我们简化数据库操作,提高代码的可读性和维护性。无论是使用ORM框架如Entity Framework,轻量级库如Dapper,还是手工构造或利用辅助库,都有其适用的场景...

    oracle监听执行sql语句

    #### 二、监听执行SQL语句的基本方法 1. **使用`v$session`和`v$sqlarea`视图** ```sql SELECT a.username, a.sid, b.SQL_TEXT, b.SQL_FULLTEXT FROM v$session a, v$sqlarea b WHERE a.sql_address = b....

    实用总结SQL语句大全实用总结SQL语句大全.rar

    总之,“实用总结SQL语句大全”将引导你掌握SQL的基本用法,理解其核心概念,并能灵活运用到实际数据库操作中。无论是初学者还是有经验的数据库管理员,这个资源都能提供宝贵的参考。通过深入学习和实践,你可以提升...

    完成超长SQL语句执行前拆分

    为了克服这一限制,本文介绍了一个专门用于将超长SQL语句拆分为多个较小SQL语句的方法。 #### 核心功能解析 ##### 函数定义 该方法通过一个名为`splitSql`的函数实现。其功能是接收三个参数: - `SqlStr`:需要被...

    常用 SQL 语句大全+50个常用sql语句总结

    根据给定的文件信息,以下是对“常用 SQL 语句大全+50个常用sql语句总结”的详细解析,涵盖数据操作、数据定义、数据控制、事务控制以及程序化 SQL 等方面的重要知识点。 ### 数据操作 1. **SELECT**:用于从...

    存储过程中怎么动态执行sql语句

    ### 动态执行SQL语句在Oracle中的应用 #### 标题解读 “存储过程中怎么动态执行SQL语句”这一标题表明文章将介绍如何在Oracle数据库的存储过程中编写能够动态执行的SQL语句。动态SQL是指在运行时才能确定其具体内容...

    sql语句中用问号代替参数

    在SQL语句中,使用问号(`?`)作为参数占位符是一种常见的做法,尤其是在编程语言如Java中与数据库交互时。这种方式被称为预编译语句或参数化查询,它具有重要的安全性和性能优势。 ### SQL参数化查询的概念 参数化...

    SQL语句拼接工具,简化SQL语句拼写代码

    虽然没有具体的源代码或文档在“framework3”这个压缩子文件中,我们可以推测这可能是一个框架或者库的名字,它包含了实现SQL语句拼接功能的相关类和方法。开发者可以通过导入和使用这个框架,轻松地在自己的Java...

    C#不写SQL语句的数据库操作

    总结来说,C#中不写SQL语句的数据库操作主要依赖于ORM框架,如Entity Framework、NHibernate和Dapper,它们提供了面向对象的接口,简化了数据库交互。此外,存储过程和ADO.NET的DataSet/DataTable也是可行的解决方案...

    mybatis直接执行sql语句后续之一

    在IT行业中,MyBatis是一个广泛使用的持久层框架,它允许开发者直接编写SQL语句,提供了灵活的数据访问和映射机制。这篇博客“mybatis直接执行sql语句后续之一”可能探讨了如何在MyBatis中高效且有效地执行SQL操作。...

    SQL语句辅助工具

    总结来说,"SQL语句辅助工具"是一个实用的开发辅助软件,通过将SQL语句转换为C#代码,简化了数据库操作的过程,提高了开发效率,同时也降低了出错的可能性。对于使用C#和SQL的开发人员来说,这是一款值得拥有的工具...

Global site tag (gtag.js) - Google Analytics