好久不用就会忘系列 查看表结构 DESC table_name 简单的更新语句 UPDATE table_name SET field_name1=value1 ... where xxx=xxx 重命名表 RENAME TABLE old_name TO new_name 重命名数据库(这个比较鸡贼) 适合于innoDB,并且没有什么触发器之类 比较简单的表 CREATE DATABASE new_db RENAME TABLE old_db.old_table1 TO new_db.new_table1 …. DROP DATABASE old_db 作者:XiyouLinux_Kangyijie 发表于 2018/07/22 15:39:46 原文链接 https://blog.csdn.net/XiyouLinux_Kangyijie/article/details/8115521 继续阅读 >>


康艺杰 18/07/22 15:39:46
关于mysql的基础知识可以参考 mysql基础 首先,需要确保已安装mysql-server,mysql-client,mysql-devel。 一、常用类型介绍 1. MYSQL 用于定义一个mysql对象,便于后续操作确定要操作的数据库是哪一个。 MYSQL mysql; //mysql标记对应某个数据库 2. MYSQL_ROW 用于定义一个行对象,其内容含有一行的数据。 MYSQL_ROW row; //row[i]可用于输出该行第i个字段的数据 3. MYSQL_FIELD 用于定义一个存储字段信息的对象。 MYSQL_FIELD *field; //field->name存储对应字段名称 4. MYSQL_RES 用于定义一个存储数据库检索信息结果的对象。 MYSQL_RES *result; 二、常用函数介绍 其实在操作mysql数据库时,最常使用的函数有以下几个: 1. mysql_init() 用于初始化 继续阅读 >>


王良 18/07/21 15:29:35
数据库软件对大小写不敏感,需要在每条命令末尾添加‘;’ 一、库操作 1. 登录数据库 mysql -u root -p -u指定用户,-p指定使用密码登录 2. 创建数据库 create database 数据库名称; 创建一个数据库,名称为student : create database student 3. 查看已有数据库 show databases; 4. 删除数据库 drop database 数据库名称; 例如: drop database student (友情提醒,谨慎操作) 5. 选择数据库 use 数据库名称; 在确定使用某个数据库后,使用use (数据库名称)切换到目的数据库 use student 二、表操作 1. 新建表 create table 表名称 ( 字段名称 数据类型 [具体要求], ...... ); example: create tab 继续阅读 >>


王良 18/07/20 10:39:07
什么是存储过程 存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数来执行它。存储过程是数据库中的一个重要对象。(百度百科) 简单来说,存储过程就是为以后的使用而保存的一条或多条MySQL语句的集合。 存储过程优缺点 优点: 简化复杂操作和对变动的管理 提高性能 保证数据的安全性 缺点: 用户可能没有创建存储过程的权限 维护、移植比较麻烦 使用存储过程 1. 创建、执行与删除 一张成绩表 mysql> select * from grade; +-------+-------+-------+ | name | grade | score | +-------+-------+-------+ | li | 90 | 5 | | niu | 60 | 2 | 继续阅读 >>


李猛 18/05/23 23:23:36
最近课程设计要求部署一个MySQL数据库来存储数据,要求多台电脑都能连接到该数据库,于是决定把它部署在我的阿里云上。 MySQL的安装 我的阿里云服务器目前安装的Ubuntu 16.04,利用MySQL APT Repository来安装不是很复杂。 首先要下载该 .deb 包Download MySQL APT Repository 我下载到的是 mysql-apt-config_0.8.10-1_all.deb ,便可以执行下列命令 sudo dpkg -i mysql-apt-config_0.8.10-1_all.deb 更新包的信息 sudo apt-get update 利用apt-get install来安装MySQL sudo apt-get install mysql-server 等待一会就安装好啦,中间会要求设置密码等,按着流程走。 配置远程连接 修改user表: mysql> use mysql; mysql> sel 继续阅读 >>


李猛 18/05/16 22:09:26
2018年6月18日更新: 前一段时间,将MySQL升级到8.0后,MyCLI这个插件无法使用了,于是在它的GitHub上提出了一个Issue,最近得到了回复。 在MySQL 8.0使用mycli要先确保PyMySQL>=0.6.7 ,亲测有效。 pip3 install pymysql 2018年5月1日更新: 多谢楼下小伙伴的提醒,MyCLI确实更强大。 MyCLI 简介 MyCLI 是一个易于使用的命令行客户端,可用于受欢迎的数据库管理系统 MySQL、MariaDB 和 Percona,支持自动补全和语法高亮。它是使用 prompt_toolkit 库写的,需要 Python 2.7、3.3、3.4、3.5 和 3.6 的支持。MyCLI 还支持通过 SSL 安全连接到 MySQL 服务器。 如何在 Linux 上为 MySQL 和 MariaDB 安装 MyCLI 在 Debian/Ubuntu 发行版上,你可以很容易的像下面这样使用 apt 命令 来安装 继续阅读 >>


李猛 18/04/25 13:21:41
问题引入 我们知道在SQL中,可以用check来来约束字段的范围。 下面这些SQL语句在MySQL下运行(系统环境为deepin 15.5 64位): mysql> CREATE TABLE `Student` ( -> `Sno` char(8) NOT NULL, -> `Sname` varchar(10) NOT NULL, -> `Sex` char(2)NOT NULL DEFAULT '男' CHECK (Sex IN ('男','女')) , -> `Age` tinyint(4) NOT NULL DEFAULT '20' CHECK (Age between 15 and 30), -> `Phonenumber` char(12) DEFAULT NULL, -> `Sdept` varchar(20) NOT NULL, -> PRIMARY 继续阅读 >>


李猛 18/04/12 23:12:35
mysql 忘记密码重置 1. 停止 MySQL 服务 $ cd /usr/local/mysql/bin/ $ mysql.server stop 2.进入安全模式 $ cd /usr/local/mysql/bin/ $ sudo ./mysqld_safe --skip-grant-tables 3.新开一个终端,进入 MySQL 输入mysql命令直接进入 $ cd /usr/local/mysql/bin/ $ mysql > use mysql > flush privileges; > set password for 'root'@'localhost'='***' 修改完成。 4.重启 cd /usr/local/mysql/bin/ mysql.server start mysql 安装 MYSQL-python 正常情况 sudo pip install MYSQL-python 出错情况 继续阅读 >>


卢晓丹 17/11/21 22:24:54
什么是主键、外键 关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个主键。 比如: 学生表(学号,姓名,性别,班级) 其中每个学生的学号是唯一的,学号就是一个主键 课程表(课程编号,课程名,学分) 其中课程编号是唯一的,课程编号就是一个主键 成绩表(学号,课程号,成绩) 成绩表中单一一个属性无法唯一标识一条记录,学号和课程号的组合才可以唯一标识一条记录,所以学号和课程号的属性组是一个主键 成绩表中的学号不是成绩表的主键,但它和学生表中的学号相对应,并且学生表中的学号是学生表的主键,则称成绩表中的学号是学生表的外键。 同理:成绩表中的课程号是课程表的外键。 定义主键和外键主要是为了维护关系数据库的完整性,总结一下: 1.主键是能确定一条记录的唯一标识,比如,一条记录包括身份正号,姓名,年龄。身份证号是唯一能确定你这个人的,其他都可能有重复,所以,身份证号是主键。 继续阅读 >>


董恒毅 17/11/18 20:24:39
什么是索引 索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存。如果没有索引,执行查询时MySQL必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录。表里面的记录数量越多,这个操作的代价就越高。如果作为搜索条件的列上已经创建了索引,MySQL无需扫描任何记录即可迅速得到目标记录所在的位置。如果表有1000个记录,通过索引查找记录至少要比顺序扫描记录快100倍。 假设我们创建了一个名为people的表: CREATE TABLE people (peopleid SMALLINT NOT NULL, name CHAR(50) NOT NULL); 然后,我们完全随机把1000个不同name值插入到people表。下图显示了people表所在数据文件的一小部分(在数据文件中name列没有任何明确的次序): 如果我们创建了name列的索引,MySQL将在索引中排序name列: 对于索引中的每一项,MySQL在内部为它保存一个数据文件中实际记录 继续阅读 >>


董恒毅 17/11/16 16:44:37