精华内容
下载资源
问答
  • db2数据库sql语句大全

    热门讨论 2011-03-24 09:50:16
    db2常用语句、db2常用语句、db2常用语句、db2常用语句、db2常用语句、db2常用语句、db2常用语句、db2常用语句
  • Oracle数据库Sql语句详解大全,详细介绍oracle数据库的sql各种写法,非常适合初学者快速入门使用。
  • 数据库SQL语句总结大全

    千次阅读 多人点赞 2020-02-28 10:24:39
    数据库基础概念二.SQL概述1)分类2)相关概念3) 增删改案例①DDL②DML 一.数据库基础概念 数据库就是用来存储和管理数据的仓库! 二.SQL概述 SQL(Structured Query Language)是“结构化查询语言”,它是对关系...

    一.数据库基础概念

    数据库就是用来存储和管理数据的仓库!

    在这里插入图片描述


    二.SQL概述

    SQL(Structured Query Language)是“结构化查询语言”,它是对关系型数据库的操作语言。通过SQL可以对数据库的数据进行增删改查。

    1)分类

    在这里插入图片描述


    2)相关概念

    • 数据库: 数据的仓库,保存数据的地方,一般一个项目对应一个数据库。
    • 表: 数据库中实际保存数据的地方,数据会分类存储,如:学生表、教员表、班级表、院系表等。
    • 行: 表中的一行记录(数据),如:学生表中一行就是一个学生的信息。
    • 列(字段):每个类型数据的一部分信息,类似对象中的属性,如:学生表中学号、姓名、年龄等。
    • 主键:一个特殊的列,用于唯一标识一行记录,每一行数据不能重复、不能为空,如:学生表的学号,一个表只能有一个主键。

    3) 增删改案例

    ①DDL:数据定义语言
    • 创建数据库
      create database 数据库名;
      例:
      create database student default character set utf8mb4 collate utf8mb4_general_ci;

    ① default character set 指定数据库的默认字符编码utf8和utf8mb4
    ②utf8占3个字节,不能支持特殊符号 utf8mb4占4个字节,兼容性好
    ③collate 是文字排序方式,utf8mb4_general_ci 是一般排序方式,忽略大小写

    • 使用数据库
      use 数据库名;

    • 删除数据库

      sql drop database 数据库名;
      sql drop database if exists 数据库名; 存在数据库再删除

    //如果数据库存在,删除数据库
    drop database if exists student;
    
    • 创建表
    create table 表名
    (
    列名 数据类型 [约束],
    列名 数据类型 [约束],
    列名 数据类型 [约束]
    ...
    );
    
    约束概念解释
    主键primary key (不能重复、不能为空、表只有一个)
    自增auto_increment(只能用于整型数据)
    非空not null(必须填写)
    唯一unique(不能重复)
    -- 创建学生表
    create table tb_student
    (
    	-- 学生编码,主键、自动增长
    	stu_id int primary key auto_increment,
    	stu_name varchar(20) not null,
    	stu_age int not null,
    	stu_gender varchar(1) not null,
    	stu_address varchar(200)
    );
    
    • 删除表

    sql drop table 表名;
    sql drop table if exists 表名;

    -- 存在学生表,先删除
    drop table if exists tb_student ;
    

    ②DML:数据管理语言
    • 单行插入

    • insert into 表名(列名,列名,列名,列名) values(值,值,值,值);

    -- 插入学生信息
    insert into tb_student(stu_name,stu_age,stu_gender,stu_address)
    values('王五',20,'男','北京');
    

    注意:列的个数和类型和值的个数、类型一致
    自动增长的列不用插入。

    • 多行插入
    • insert into 表名(列名,列名,列名,列名) values (值,值,值,值),(值,值,值,值),(值,值,值,值);
    insert into tb_student(stu_name,stu_age,stu_gender,stu_address)
    values('赵六',28,'男','北京'),('马七',25,'女','成都');
    
    • 删除
    • 全部删除: delete from 表名;
    • 带条件的删除 :delete from 表名 where 条件;
    • 清空表: truncate table 表名;
    • 更新
    • update 表名 set 列=值,列=值,列=值 [where 条件];
    -- 更新马七的年龄和地址
    update tb_student set stu_age = 19,stu_address='南京' 
    where stu_name = '马七';
    

    ③DQL:数据查询语言
    • 查询表的所有记录

    • select * from 表名;

    • *代表所有列,没有条件就查询所有行

    • 查询部分列

    • select 列名,列名,列名 from 表名;

    • 给列加别名

    • select 列名 as 别名,列名 别名,列名 别名 from 表名;

    • 带条件的查询

    • select * from 表名 where 条件;

    • 例:查询编号为3的学生

    select * from tb_student where stu_id = 3;
    
    • 例:查询编号不为3的学生
    • !=和<>都表示不相等
    select * from tb_student where stu_id != 3;
    or
    select * from tb_student where stu_id <> 3
    • 例:查询年龄大于20的学生
    select * from tb_student where stu_age > 20;
    
    • 例:查询年龄在20到25之间的学生

    • sql 相当于Java的&&,表示两个条件同时成立 表示值在某个范围内,可以使用between 值1 and 值2;

    select * from tb_student where stu_age >= 20 and stu_age <= 25;
    select * from tb_student where stu_age between 20 and 25;
    
    • 例:查询地址是武汉或上海的学生
    • 条件1 or 条件2 相当于Java的||,表示两个条件只需要一个成立
    select * from tb_student where stu_address = '武汉' or stu_address = '上海';
    
    • 表示值在几个值之间任意一个,可以使用in(值1,值2)
    select * from tb_student where stu_address in('武汉','上海');
    
    • 例:查询年龄不在20到25之间的学生
    • not 条件 相当于Java的!,条件取反
    select * from tb_student where stu_age not between 20 and 25;
    
    • 按年龄排序
    • order by 列 [asc|desc] 写在查询语句最后,默认情况是升序
    select * from tb_student order by stu_age;
    select * from tb_student order by stu_age desc;
    
    • 例:分页查询,一页显示4个学生,显示前5页学生
    • limit 开始位置, 长度limit 长度默认从第一行开始
    select * from tb_student limit 0,4;
    select * from tb_student limit 4,4;
    select * from tb_student limit 8,4;
    select * from tb_student limit 12,4;
    select * from tb_student limit 16,4;
    
    • 例:查询年龄最大的学生
    //先desc降序排列然后取第一个值
    select * from tb_student order by stu_age desc limit 1;
    
    • 模糊查询

    • like '模糊查询字符串' 两个通配符: % 任意长度的字符 _ 任意的一个字符

    • 例:查询姓张的学生

    select * from tb_student where stu_name like '张%';
    
    • 例:查询姓名带小的学生
    select * from tb_student where stu_name like '%小%';
    
    • 查找第二位是3或5的手机号
    • 列 regexp '正则表达式'
    select * from tb_student where stu_tel regexp '^1[35]\\d{9}$';
    
    • 统计(聚合)函数
    • count(*) 行数 max(列) 最大值 min(列) 最小值 sum(列) 总和 avg(列) 平均值
    select count(*) 人数,max(stu_age) 最大年龄,min(stu_age) 最小年龄,sum(stu_age) 年龄总和,avg(stu_age) 平均年龄  from tb_student;
    
    • 例:查询不同地区学生的平均年龄
    • group by 列 分组查询
    select avg(stu_age) 平均年龄,stu_address 地区 from tb_student
    group by stu_address;
    
    • 例:查询男女学生各自人数
    select count(*) 人数,stu_gender 性别 from tb_student group by stu_gender;
    
    • 例:查询学生的平均年龄低于20的地区

    • where 在分组之前进行筛选 having 在分组之后进行筛选 where ——> group by ——> having

    select avg(stu_age) 平均年龄,stu_address 地区 from tb_student 
    group by stu_address having avg(stu_age) < 25;
    

    在这里插入图片描述
    Don’t aim for success if you want it; just do what you love and believe in, and it will come naturally.

    2020.02.28

    展开全文
  • mysql创建数据库sql语句

    万次阅读 2018-09-20 09:47:13
    drop database if exists `test-pro`; create database `test-pro` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; 使用utf8mb4,和创建表类似
    drop database if exists `test-pro`;
    create database `test-pro` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

    使用utf8mb4(表情可用编码格式),和创建表类似

    展开全文
  • 本文主讲数据库中 游标CURSOR...将SQL嵌入到高级语言中混合编程,SQL语句负责操纵数据库,高级语言语句负责控制逻辑流程。 数据库工作单元与源程序工作单元之间的通信主要包括: (1) 向主语言传递SQL语句的执行状态信...

    本文主讲SQL Server数据库中 游标CURSOR 的使用,欢迎阅读~


    前言

    将SQL嵌入到高级语言中混合编程,SQL语句负责操纵数据库,高级语言语句负责控制逻辑流程。
    数据库工作单元与源程序工作单元之间的通信主要包括:
    (1) 向主语言传递SQL语句的执行状态信息,使主语言能够据此信息控制程序流程,主要用SQL通信区( SQL Communication Area, SQLCA)实现。
    (2) 主语言向SQL语句提供参数,主要用主变量(host variable) 实现。
    (3) 将SQL语句查询数据库的结果交主语言处理,主要用主变量和游标(cursor) 实现。
    ps:SQL语句中使用的主语言程序变量简称为主变量,根据其作用的不同又可分为输入主变量和输出主变量


    为什么要使用游标

    👀SQL语言是面向集合的,一条SQL语句可以产生或处理多条记录;而主语言是面向记录的,一组主变量一次只能存放一条记录。
    所以仅仅使用主变量并不能完全满足SQL语句向应用程序输出数据的要求,为此嵌入式SQL引入了游标的概念,用来协调这两种不同的处理方式~
    游标是系统为用户开设的数据缓冲区,存放SQL语句的执行结果,每个游标区都有一个名字。
    用户可以用SQL语句逐一从游标中获取记录,并赋给主变量,交由主语言进一步处理~


    使用游标的SQL语句

    一般情况下,SELECT语句查询结果是多条记录,因此需要用游标机制将多条记录一次一条地送给主程序处理,从而把对集合的处理转换为对单个记录的处理
    使用游标的步骤:
    (1)说明游标
    DECLARE语句为一条SELECT语句定义游标:

    EXEC SQL DECLARE<游标名> CURSOR FOR <SELECT 语句>;
    

    ps:定义游标仅仅是一条说明性语句, 这时关系数据库管理系统并不执行SELECT语句
    (2)打开游标
    用OPEN语句将定义的游标打开。

    EXEC SQL OPEN <游标名>;
    

    打开游标实际上是执行相应的SELECT语句,把查询结果取到缓冲区中。这时游标处于活动状态,指针指向查询结果集中的第一条记录
    (3)推进游标指针并取当前记录

    EXEC SQL FETCH <游标名>
    INTO <主变量>[<指示变量>][,<主变量>[<指示变量>]]...;
    

    其中主变量必须与SELECT语句中的目标列表达式具有一一对应关系。
    FETCH语句把游标指针向前推进一条记录,同时将缓冲区中的当前记录取出来送至主变量供主语言进一步处理。通过循环执行FETCH语句逐条取出结果集中的行进行处理。
    (4)关闭游标
    用CLOSE语句关闭游标,释放结果集占用的缓冲区及其他资源。

    EXEC SQL CLOSE <游标名>;
    

    游标被关闭后就不再和原来的查询结果集相联系。但被关闭的游标可以再次被打开,与新的查询结果相联系。
    🌟来看实例:

    IF (exists (select * from sys.objects where name = 'proc_cursor'))
        DROP PROCEDURE proc_cursor
    GO
    CREATE PROCEDURE proc_cursor --创建存储过程
    AS
    DECLARE @Sno char(9) --定义变量
    DECLARE @Sname char(20) --定义变量
     
    DECLARE mycursor CURSOR FOR select Sno, Sname from Student --声明游标
     
    OPEN mycursor  --打开游标
     
    FETCH NEXT FROM mycursor INTO @Sno, @Sname
     
    WHILE(@@FETCH_STATUS = 0)  --遍历所有的数据,@@FETCH_STATUS函数返回值为0表示FETCH语句执行成功
    BEGIN
    	PRINT '游标成功取出一条数据:'
    	PRINT @Sno
    	PRINT @Sname
    	PRINT '-----------------------'
    	FETCH NEXT FROM mycursor INTO @Sno, @Sname  --取下一条游标数据
    END
     
    CLOSE mycursor --关闭游标
     
    DEALLOCATE mycursor --删除游标
    GO
     
    EXEC proc_cursor
    GO
    

    ps:一些 Transact-SQL 系统函数的名称以两个 at 符号 (@@) 开头。 尽管在旧版 SQL Server 中,@@函数称为全局变量,但它们不是变量,不具有等同于变量的行为。 @@函数是系统函数,语法遵循函数规则。详细可参考:变量 (Transact-SQL)
    在这里插入图片描述
    这是Student表,对照着看下面的执行结果~
    在这里插入图片描述
    可以看到查询结果集合中的记录被一条一条地输出了,达到了我们的目的👏


    那,数据库SQL语句中CURSOR(游标)的简单使用 就介绍完啦,感谢阅读~😊
    如文中有不恰当的地方,望提出指正~

    展开全文
  • SQL SERVER 备份数据库sql语句

    千次阅读 2018-09-26 15:39:11
    declare @filename nvarchar(100) set @filename='D:\\DB_backup\\DBNAME_'+convert(char(8),...以上代码可用于创建SQL代理作业,自动备份数据库。 步骤:SQL Server代理→新建作业→步骤(新建)→计划(新建)
    declare @filename nvarchar(100) 
    set @filename='D:\\DB_backup\\DBNAME_'+convert(char(8),getdate(),112)+'.bak' 
    print @filename BACKUP DATABASE [DBNAME] TO 
    DISK = @filename 
    WITH NOINIT , NOUNLOAD , NAME = N'DBNAME-完整备份', 
    NOSKIP, STATS = 10, NOFORMAT

    以上代码可用于创建SQL代理作业,自动备份数据库。

    步骤:SQL Server代理→新建作业→步骤(新建)→计划(新建)

    展开全文
  • Mysql数据库SQL语句转化为ORACLE数据库SQL语句的操作1.浅析两者SQL语句之不同1.1.建表语句之不同Mysql 数据库在创建表时,表名,字段名用使用单引号标记;ORACLE数据库在创建表时,表名,字段名使用双引号标记;...
  • 学生选课系统数据库SQL语句考试题

    千次阅读 2017-09-03 17:00:35
    关于课程,学生,老师,分数关系的基本SQL语句操作: SQL语句考试题
  • Sql Server数据库sql语句去除所有空格

    万次阅读 2019-05-29 11:16:51
    保存时特殊处理,去掉所有空格,这个没问题,但是那些已经保存的就要用sql语句来去掉,才能正常显示。 因为输入的是特殊符号,所以用LTrim和RTrim时解决不了的;在网上找了个方法,还是可以的, 通过ascii函数...
  • delete from allTData where crt_time&lt;'2017-05-31 00:00:00' 这是删除指定日期2017年5月31日0点之后的数据
  • 达梦数据库SQL语句执行

    千次阅读 2018-07-23 16:40:00
    如果想使达梦数据库能够正常运行,首先要保证DM-SQL语句的格式正确性,例如代码中 CREATE TABLE TESTDM.MB(ADDRESSID INT PRIMARY KEY,ADDRESS1 VARCHAR(60) NOT NULL,ADDRESS2 VARCHAR(60)) 其中TESTDM是模式...
  • mysql数据库sql语句备份

    千次阅读 2011-07-06 14:07:28
    使用mysql语句备份数据库Windows系统的mysql\bin\mysqldump.exe,这里的mysqldump并没能直接使用。1、只备份数据库的各表的表结构备份了 数据库以及表的结构而没有备份各表数据。mysqldump.exe -u root -p
  • IDEA提供了很方便的集成工具。 连接数据库的工具点击database 第二步填写数据库校验信息,账户密码,不要...以下教教你们如何使用sql语句建表和运行sql文件。 sql语句建表,右键下图位置 点击下图 第二...
  • 数据库SQL系列】sql语句执行顺序,你理解了吗

    万次阅读 多人点赞 2020-01-13 15:29:00
    记得前几年,还是初级的时候,面试官问到,请你讲一下sql语句的执行顺序。当时我以为就是按照sql的关键字排列顺序来执行的。当时说完,面试官心里估计已经直接pass我了吧。今天复习的时候,突然想起这个基础知识点,...
  • 数据库sql语句练习题

    千次阅读 2017-07-30 18:27:57
    3、用一条sql语句批量新增3条t_car记录 INSERT INTO `t_car` VALUES ('00111', '鄂AB1000', '11111111111111111111111111111121', 'car_brand_01', 'car_color_01', 'car_type_01', '2017-07-23 12:12:00', ''), ...
  • SQL Server 数据库基本SQL语句汇总

    热门讨论 2013-05-24 15:37:15
    对SQL Server 数据库基本SQL语句汇总,大部分复杂语句都可以通过这些基本语句组合实现
  • Oracle 创建本地数据库sql语句

    千次阅读 2019-03-07 11:36:00
    创建数据库 CREATE TABLESPACE localhost LOGGING DATAFILE 'D:\Oracle\database\localhost.dbf' SIZE 100M AUTOEXTEND ON NEXT 32M MAXSIZE 500M EXTENT MANAGEMENT LOCAL; create temporary TABLESPACE ...
  • SELECT- 从数据库中提取数据 SELECTcolumn_name,column_name FROMtable_name; 实例: 下面的 SQL 语句从 "Websites" 表中选取 "name" 和 "country" 列: SELECT name,country FROM Websites; SELECT * ...
  • 数据库基本_SQL语句大全

    万次阅读 多人点赞 2017-05-23 14:27:45
    mysql教程 ■ 在DOS命令行启动MYSQL服务: net start mysql ■在DOS命令行停止MYSQL服务: net stop mysql ■查看被监听的端口: ...■创建数据库用户:只有根用户(root)才有创建新用户的权限 CREATE USER u
  • 想把myname myage通过变量的形式插入到sql语句中,尝试了几次,终于成功,通过拼接生成sql语句,使用sprint()函数。
  • sql语句大全(详细)

    万次阅读 多人点赞 2018-12-15 14:29:35
    数据库操作 查看所有数据库 show databases; 查看当前使用的数据库 select database(); 创建数据库 create databases 数据库名 charset=utf8; 5.删除数据库 drop database 数据库名 6 .使用数据句库 use ...
  • 那么用SQL语句如何实现呢? 首先,数据表中的存时间的字段比如是addtime可能是时间戳(varchar),也可能是用timestamp类型表示,如果是时间戳格式当然好办,如果是timestamp格式:YYYY-MM-DD HH:II:SS这个格式,如...
  • 删除数据库sql语句

    万次阅读 2019-04-27 20:44:36
    删除数据库sql语句如何写 drop database 数据库名 --删除数据库的 drop table 表名–删除表的 delete from 表名 where 条件 --删除数据的 truncate table 表名 也是删除数据库的.但是他可以裁断序列 这个你跟...
  • 数据库SQL语句~四表连接(left join)

    千次阅读 2019-06-01 15:20:47
    LEFT JOIN 关键字会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行。 SELECT column_name(s) FROM table_name1 LEFT JOIN table_name2 ...注释:在某些数据库中, LE...
  • sqlserver 数据库 SQL循环语句

    千次阅读 2010-08-22 13:37:00
    关键字: sqlserver 数据库 SQL循环语句 declare @i int set @i=1 while @i begin insert into test (userid) values(@i) set @i=@i+1 end --------------- while 条件 begin ...
  • 不管你是刚学习软件开发的初学者,还是在IT职场打拼多年的职场老鸟,都免不了要同各种数据库打交道,你可能会碰到以下几个问题:1、感觉自己写的sql语句没有错,但是执行结果总是不对;2、某个功能执行的语句知道有...
  • 4.找出总成绩最高的学生的学号和姓名: select stuID,stuName from tblstudent where stuID= (select stuID from tblscope group by stuID having ...SQL语句如下: select stuSex as '性别',count(*) a
  • 数据库常用sql语句总结

    万次阅读 多人点赞 2018-12-14 16:16:32
    查看时右侧可以打开CSDN自带的目录,方便查看 目录 一、基础 1.SELECT 语句 2.SELECT DISTINCT 语句 3.WHERE 子句 ...5.ORDER BY 语句 ...6.INSERT INTO 语句 ...7.Update 语句 ...3.SQL 通配符 4.IN...
  • 查看数据库死锁SQL语句

    千次阅读 2017-03-25 18:24:16
    而且尤其是访问到某一个特定的数据库的时候,特别慢,这种情况下就要仔细检查一下自己的代码咯,可能是自己的sql语句导致了数据库访问过慢,下面是如何查找出来到底是哪一个sql语句导致数据库访问过慢! 我用的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,137,824
精华内容 455,129
关键字:

数据库sql语句大全