分类 "SQL" 的存档.

描述

Structured Query Language

python3 pymysql ‘latin-1’ codec can’t encode character 错误 问题解决

  在使用pymysql库的时候,发现这么一个问题:
UnicodeEncodeError: ‘latin-1’ codec can’t encode characters in position 340-360: ordinal not in range(256)
  首先数据库设定的是utf8mb4的,获取到的数据也是utf8的,连脚本的编码也是utf8的,但是为什么还是会出现编码错误呢?
  经过查证:connect连接数据库的时候需要指定数据集
#coding: utf-8
import pymysql
# 打开数据库连接
com = pymysql.connect(“localhost”,”root”,”123″,”TEST” ,use_unicode=True, charset=”utf8″)

Mysql导入大容量SQL文件的问题

  今天导入sql文件的时候,遇见了一个问题:”MySQL server has gone away”,经过数次的失败后,我直觉是sql文件过大的原因导致的。上网上一顿查找发现了原因。
阅读更多…

sqlite的pragma语法

SQLite支持的编译指令(pragma),PRAGMA命令是用于修改SQlite库或查询SQLite库内部数据(non-table)的特殊命令。PRAGMA 命令使用与其它SQLite命令(e.g. SELECT, INSERT)相同的接口,但在如下重要方面与其它命令不同: 阅读更多…

sql语言修改表结构的一些方法

  修改表结构包括:增加字段、删除字段、增加约束、删除约束、修改缺省值、修改字段数据类型、重命名字段、重命名表。所有这些操作都是用 alter table 命令执行的。
阅读更多…

mysql root密码忘记或权限错误的解决办法

  因为公司的这个电脑是被人玩过,所以好多密码都不知道,包括这个mysql数据库的密码,想在这个上面使用mysql就必须找回。
  以下是还原root权限和更改root密码的最便捷方法。
  关闭mysql服务,打开终端输入:

cd /usr/local/mysql/bin/

  回车后 登录管理员权限 阅读更多…

sqlite3触发器之再实战纪实

  还是关于sqlite3触发器的问题,必须在每一步的实战中得到锻炼。
sql-statement ::= CREATE [TEMP | TEMPORARY] TRIGGER trigger-name [ BEFORE | AFTER ]
        database-event ON [database-name .] table-name
        trigger-action
sql-statement ::= CREATE [TEMP | TEMPORARY] TRIGGER trigger-name INSTEAD OF
        database-event ON [database-name .] view-name
        trigger-action
database-event ::= DELETE | REPLACE | UPDATE | UPDATE OF column-list
trigger-action ::= [ FOR EACH ROW | FOR EACH STATEMENT ] [ WHEN expression ]
        BEGIN
          trigger-step ; [ trigger-step ; ]*
        END
trigger-step ::= update-statement | REPLACE-statement | delete-statement | select-statement
阅读更多…

mysql数据库在Mac下面的安装与配置

直接到mysql 的官网下载了适合MAC 平台的 mysql-5.5.17-osx10.6-x86_64.dmg
打开后发现3个文件,安装顺序:
1。mysql-5.5.17-osx10.6-x86_64.pkg 数据库
2。MySQLStartupItem.pkg 这样MySQL就会自动在开机时自动启动了。
3。MySQL.prefPane 这样就会在“系统设置偏好”中看到名为“MySQL”的ICON,通过它就可以设置MySQL开始还是停止,以及是否开机时自动运行。到这里MySQL就基本安装完毕了。
阅读更多…

sqlite3触发器的实战

  触发器(trigger)是个特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,比如当对一个表进行操作( REPLACE,delete, update)时就会激活它执行。触发器经常用于加强数据的完整性约束和业务规则等。 触发器可以从 DBA_TRIGGERS ,USER_TRIGGERS 数据字典中查到。
  举个例子,如果说要删除一个班级和一个班级的学生,写程序得两个步骤,第一次删除一个班级的学生,第二步再删除这个班级,很麻烦,效率也不高,间隔触发器,就是在删除班级的时候,会触发删除该班级的学生,很快,很方便。。
阅读更多…

在Sqlite中通过Replace来实现插入和更新

  你可能在批量处理一个事务的时候,想要批量插入一系列的数据,但是这些数据当添加完一次之后,重新添加的时候,你不想要重新添加,只是想将原有的数据进行更新,例如:我想要通过Excel将一系列的图书导入到数据库中,而这些图书在你下一次编辑之后,重新导入,只是对原有的数据进行修改。以上是一个业务的场景。
  在MSSQL中,你可以使用诸如: 阅读更多…

SQLite学习笔记

1. 无库连接sqlite3

(1) Windows提示符

>sqlite3

SQLite version 3.6.22

Enter “.help” for instructions

Enter SQL statements terminated with a “;”

sqlite>
阅读更多…