sql语言

面试你所要知道的:MySQL存储过程

我与影子孤独终老i 提交于 2020-02-09 13:00:35
存储过程简介 SQL语句需要先编译然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。 存储过程是可编程的函数,在数据库中创建并保存,可以由SQL语句和控制结构组成。当想要在不同的应用程序或平台上执行相同的函数,或者封装特定功能时,存储过程是非常有用的。数据库中的存储过程可以看做是对编程中面向对象方法的模拟,它允许控制数据的访问方式。 存储过程的优点: (1).增强SQL语言的功能和灵活性:存储过程可以用控制语句编写,有很强的灵活性,可以完成复杂的判断和较复杂的运算。 (2).标准组件式编程:存储过程被创建后,可以在程序中被多次调用,而不必重新编写该存储过程的SQL语句。而且数据库专业人员可以随时对存储过程进行修改,对应用程序源代码毫无影响。 (3).较快的执行速度:如果某一操作包含大量的Transaction-SQL代码或分别被多次执行,那么存储过程要比批处理的执行速度快很多。因为存储过程是预编译的。在首次运行一个存储过程时查询,优化器对其进行分析优化,并且给出最终被存储在系统表中的执行计划。而批处理的Transaction-SQL语句在每次运行时都要进行编译和优化,速度相对要慢一些。 (4).减少网络流量:针对同一个数据库对象的操作

SQLServer创建用户登录

萝らか妹 提交于 2020-02-09 00:56:28
创建用户登录注意事项 密码是区分大小写的。 只有创建SQL Server登录时,才支持对密码预先进行哈希运算。 如果指定MUST_CHANGE,则CHECK_EXPIRATION和 CHECK_POLICY必须设置为 ON。 否则,该语句将失败。 不支持CHECK_POLICY=OFF和 CHECK_EXPIRATION=ON的组合。 如果CHECK_POLICY设置为OFF,将对lockout_time进行重置,并将CHECK_EXPIRATION设置为OFF。 只有在Windows Server 2003及更高版本上才会强制执行CHECK_EXPIRATION 和 CHECK_POLICY。 从证书或非对称密钥创建的登录名仅用于代码签名。 不能用于连接到 SQL Server。 仅当master中已存在证书或非对称密钥时,才能从证书或非对称密钥创建登录名。 有关用于传输登录名的脚本,请参阅如何在 SQL Server 2005 和 SQL Server 2008 的实例之间传输登录名和密码。 自动创建登录名将启用新的登录名,并授予它服务器级CONNECT SQL 权限。 服务器的身份验证模式必须匹配登录名类型才能允许访问。 有关设计权限系统的信息,请参阅 Getting Started with Database Engine Permissions。

SQL数据库—<2>数据库基本操作(CRUD)

好久不见. 提交于 2020-02-08 11:24:40
学习基本操作语句之前先简单了解数据库的基本数据类型: 数据类型: 二进制数据:以十六进制形式存储 固定长度:binary 可变长度:varbinary 字符数据: char:定长 varchar:长度不同时,但是任何项长度不能超过8KB 日期时间数据: datatime(1753-1-1,9999-12-31) smalldatetime(1900-1-1,2079-6-6) 数值型数据 整型数据:bigint int samllint tinyint 实型数据:decimal : decimal[p(,s)] 其中p为总位数,即精度,s为小数位数,小数点算一位 float 货币数据: money 特殊数据类型: bit:true、false ; Yes、No 文本和图像数据类型: 文本:text 图像:image 简单书写规范 SQL语言中不区分大小写,SQL数据库中的数据是区分大小写的 遇到关键字可以用 [] 括号扩起来 注释: -- :单行注释 /* */:多行注释 更详细内容可以查阅资料 一、数据库操作:创建、删除、修改等基本操作 数据库的CRUD操作,C是指create新增,R是指retrieve检索,U是指update更改,D是指delete删除 使用SQL语句 1 create database 数据库名 --建,完成可用 USE 打开数据库。 2 drop

常用的Sql语句

喜你入骨 提交于 2020-02-08 10:24:23
SQL 语言可以分为以下3类: DDL— 数据定义语言 (Create , Alter , Drop , DECLARE) DML— 数据操纵语言 (Select , Delete , Update , Insert) DCL— 数据控制语言 (GRANT , REVOKE , COMMIT , ROLLBACK) 1.创建数据库 USE master; GO Create database mydatabase GO 2.删除数据库 USE master; GO drop database mydatabase GO 3.创建备份数据的device。其中sp_addumpdevice的作用是将备份设备添加到 Microsoft SQL Server 2005 数据库引擎的实例中。第一个参数指明备份设备的类型,disk表示将磁盘文件作为备份文件。第二个参数为在 BACKUP 和 RESTORE 语句中使用的备份设备的逻辑名称。第三个参数表示备份设备的物理名称。 USE master; GO EXEC sp_addumpdevice 'disk', 'mydiskdump','E:\Backup\dump1.bak'; 4.开始备份 backup database AdventureWorks to mydiskdump 5.创建新表 Create table Person(id

常用SQL语法大全----菜鸟级

拈花ヽ惹草 提交于 2020-02-08 10:17:57
SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK) 首先,简要介绍基础语句: 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建 备份数据的 device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:mssql7backupMyNwind_1.dat' --- 开始 备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表 create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2… from tab_old definition only 5

pysql

♀尐吖头ヾ 提交于 2020-02-08 04:34:37
1.python语言操作mysql的包: import pymysql # 连接mysql服务器 conn = pymysql.connect(host='localhost', user='root', password='123',database='db2', charset='utf8') cursor = conn.cursor(cursor=pymysql.cursors.DictCursor) sql = "select * from student where id > %s " % (12,) # sql = cursor.execute(sql) # res = cursor.fetchone() res = cursor.fetchmany(10) # res = cursor.fetchall() ### 列表里面套字典 print(res) cursor.close() conn.close()import pymysql # 连接mysql服务器conn = pymysql.connect(host='localhost', user='root', password='123',database='db1', charset='utf8')cursor = conn.cursor(cursor=pymysql.cursors.DictCursor

Atlas-MySQL

我的未来我决定 提交于 2020-02-08 04:29:12
优秀DBA的素质 1 、人品,不做某些事情 2 、严谨,运行命令前深思熟虑,三思而后行,即使是依据select 3 、细心,严格按照步骤一步一步执行,减少出错 4 、心态,遇到灾难,首先要稳住,不慌张,不要受到旁人的影响 5 、熟悉操作系统,Linux系统的工具和命令 6 、熟悉业务 ( 开发 ),编程语言 7 、熟悉行业 8 、喜欢数据库 • 什么是数据? 数据是指对客观事件进行记录并可以鉴别的符号,是对客观事物的性质、状态以及相互关系等进行记载的物理符号或这些物理符号的组合。它是可识别的、抽象的符号。 • 什么是数据库管理系统? 将大量的数据规范的管理在一起的软件 • 数据库管理系统种类 关系型和非关系型 • 关系型数据库的特点   – 二维表   – 典型产品 Oracle传统企业, MySQL是互联网企业   – 数据存取是通过SQL   – 最大特点,数据安全性方面强(ACID) • NoSQL:非关系型数据库(Not only SQL)   – 不是否定关系型数据库,做关系型数据库的的补充。   – 想做老大,先学会做老二。 RDBMS与NoSQL对比 • web1.0时代   企业提供内容,用户浏览,所以关系型数据库够用,并发并不高,所以不需要NoSQL。 • web2.0时代   核心是企业提供平台,用户参与提供内容。这时关系型数据库无法满足需求了。 • 2003

SQLAlchemy

a 夏天 提交于 2020-02-08 01:41:58
以上,SQLAlchemy的两个最重要的前端部分是ORM( Object Relational Mapper,,即 对象关系映射器) 和 SQL表达式语言 。SQL表达式可以独立于ORM使用。 使用ORM时,SQL表达式语言仍然是面向对象的API的一部分,因为它在对象关系配置和查询中使用。 SQLAlchemy是python中的ORM框架。对象关系映射(英语:Object Relation Mapping,简称ORM,或O/RM,或O/R mapping)其他语言中都会有ORM框架,可以进行更加快捷便利的操作数据库。 SQLAlchemy是Python编程语言下的一款ORM框架,该框架建立在数据库API之上,使用关系对象映射进行数据库操作,简言之便是:将对象转换成SQL,然后使用数据API执行SQL并获取执行结果。 注意:SQLAlchemy本身无法操作数据库,必须依赖第三方插件如pymysql,mysqlDB,Dialect用于和数据API进行交流,根据配置文件的不同调用不同数据库的API,从而实现对数据库的操作。 一,创建表 默认的情况下SQLAlchemy不能修改表结构,可以下载第三方工具进行修改。 #!/usr/bin/python # _*_ coding:utf-8 _*_ from sqlalchemy.ext.declarative import

mysql存储过程基础

别说谁变了你拦得住时间么 提交于 2020-02-07 19:23:31
存储过程简介 SQL语句需要先编译然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。 存储过程是可编程的函数,在数据库中创建并保存,可以由SQL语句和控制结构组成。当想要在不同的应用程序或平台上执行相同的函数,或者封装特定功能时,存储过程是非常有用的。数据库中的存储过程可以看做是对编程中面向对象方法的模拟,它允许控制数据的访问方式。 存储过程的优点: (1). 增强SQL语言的功能和灵活性 :存储过程可以用控制语句编写,有很强的灵活性,可以完成复杂的判断和较复杂的运算。 (2). 标准组件式编程 :存储过程被创建后,可以在程序中被多次调用,而不必重新编写该存储过程的SQL语句。而且数据库专业人员可以随时对存储过程进行修改,对应用程序源代码毫无影响。 (3). 较快的执行速度 :如果某一操作包含大量的Transaction-SQL代码或分别被多次执行,那么存储过程要比批处理的执行速度快很多。因为存储过程是预编译的。在首次运行一个存储过程时查询,优化器对其进行分析优化,并且给出最终被存储在系统表中的执行计划。而批处理的Transaction-SQL语句在每次运行时都要进行编译和优化,速度相对要慢一些。 (4).减少网络流量

Oracle存储过程学习

点点圈 提交于 2020-02-07 15:34:50
说明:SQL语言共分为四大类:数据查询语言DQL,数据操纵语言DML, 数据定义语言DDL,数据控制语言DCL。 0.调试 点击procedure名,右键选择调试。即可进入调试模式。找到procedure,点击右键,查看,可看到编译错误信息。 Dbms_output.Put_line('打印内容:' || v_total); --打印 v_str:=&dno; 其中 &表示键盘输入。即接收键盘输入的值dno表示Name。 1.基本用法   查看所有的存储过程:   select object_name,object_type,status from user_objects where OBJECT_TYPE='PROCEDURE';   查看某个存储过程:   SELECT text FROM user_source WHERE NAME = 'procedure_name';   删除:   drop procedure procedure_name;   新增:   create or replace procedure procedure_name; CREATE OR REPLACE PROCEDURE test1 IS v_total NUMBER; BEGIN SELECT COUNT(*) INTO v_total FROM user; Dbms_output