mysql添加字段

Hadoop集群(第10期副刊)_常用MySQL数据库命令

邮差的信 提交于 2020-04-07 04:23:11
1、系统管理 1.1 连接MySQL   格式 : mysql -h主机地址 -u用户名 -p用户密码   举例 :   例1 :连接到本机上的MySQL。   首先在打开DOS窗口,然后进入目录 mysqlbin,再键入命令"mysql –u root –p",回车后提示你输密码,如果刚安装好MySQL,超级用户"root"是没有密码的,故直接回车即可进入到MySQL中了,MySQL的提示符是: mysql>。   例2 :连接到远程主机上的MYSQL。假设远程主机的IP为:110.110.110.110,用户名为root,密码为abcd123。则键入以下命令: mysql -h 110.110.110.110 -u root –p abcd123   备注 :u与root可以不用加空格,其它也一样。   退出MySQL命令: exit (回车)。 1.2 修改新密码   格式 :mysqladmin -u用户名 -p旧密码 password 新密码   举例 :   例1 :给root加个密码ab12。首先在DOS下进入目录mysqlbin,然后键入以下命令: mysqladmin -u root -password ab12   备注 :因为开始时root没有密码,所以-p旧密码一项就可以省略了。   例2 :再将root的密码改为djg345。 mysqladmin -u

Mysql常用命令详解

可紊 提交于 2020-04-06 01:12:54
Mysql安装目录 数据库目录 /var/lib/mysql/ 配置文件 /usr/share/mysql(mysql.server命令及配置文件) 相关命令 /usr/bin(mysqladmin mysqldump等命令) 启动脚本 /etc/init.d/mysql(启动脚本文件mysql的目录) 系统管理 连接MySQL 格式: mysql -h 主机地址 -u用户名 -p用户密码 例 1:连接到本机上的 MySQL。 hadoop@ubuntu:~$ mysql -uroot -pmysql; 例 2:连接到远程主机上的 MYSQL。 hadoop@ubuntu:~$ mysql -h 127.0.0.1 -uroot -pmysql; 修改新密码 在终端输入:mysql -u用户名 -p密码,回车进入Mysql。 > use mysql; > update user set password=PASSWORD('新密码') where user='用户名'; > flush privileges; #更新权限 > quit; #退出 增加新用户 格式:grant select on 数据库.* to 用户名@登录主机 identified by '密码' 举例: 例 1:增加一个用户 test1 密码为 abc,让他可以在任何主机上登录,并对所有数据库有 查询、插入

MySQL count知多少

旧巷老猫 提交于 2020-04-05 16:51:11
统计一个表的数据量是经常遇到的需求,但是不同的表设计及不同的写法,统计性能差别会有较大的差异,下面就简单通过实验进行测试( 大家测试的时候注意缓存的情况,否则影响测试结果 )。 1、 准备工作 为了后续测试工作的进行,先准备几张用于测试的表及数据,为了使测试数据具有参考意义,建议测试表的数据量大一点,以免查询时间太小,因此,可以继续使用之前常用的连续数生成大法,如下: /* 创建连续数表 */ CREATE TABLE nums(id INT primary key); /* 生成连续数的存储过程,优化过后的 */ DELIMITER $$ CREATE PROCEDURE `sp_createNum`(cnt INT ) BEGIN DECLARE i INT DEFAULT 1; TRUNCATE TABLE nums; INSERT INTO nums SELECT i; WHILE i < cnt DO BEGIN INSERT INTO nums SELECT id + i FROM nums WHERE id + i<=cnt; SET i = i*2; END; END WHILE; END$$ DELIMITER ; 生成数据,本次准备生成1kw条记录 /* 调用存储过程 */ mysql> call sp_createNum(10000000); Query OK

mysql 语法汇总

风流意气都作罢 提交于 2020-04-04 07:12:46
查看数据表结构:DESCRIBE 表名   或者   DESC 表名 查看表结构语句 :show create table <表名>  ps: 在命令窗口 修改表数据:    修改表名 :alter table <表名> rename <新表名>    修改字段的数据类型 :alter table <表名> modify <字段名> <数据类型>    修改字段名 :alter table <表名> change <旧字段名> <新字段名> <新数据类型>    添加字段 :alter table <表名> add <新字段名> <新字段类型> [约束条件] [FIRST | AFTER 已存在字段名]  ps: first 添加为表的第一个字段   after添加到指定字段的后面    删除字段 :alter table <表名> drop <字段名>    修改表的字段顺序 :alter table <表名> modify <字段1> <数据类型> first | after <字段2>   删除表: drop table [if exists] 表1 , 表2 , 表3...   删除表的外键约束:alter table <表名> drop foreign key <外键约束名> 查看所有的触发器: SELECT * FROM information_schema.

基础知识:Mysql基本操作命令

一世执手 提交于 2020-04-04 07:09:52
启动mysql : mysql -hlocalhost -uroot -p 创建数据库:create database 数据库名字; 指定要操作的数据库:use 数据库名字; 查看数据表建表语句:show create table 数据表名字; 查看数据库中的数据表基本结构:show tables; 创建数据表:create table 数据表名字; 使用DESCRIBE语句查看数据表:describe 数据表名字; //查看该数据表详细信息,字段名,数据类型等 为数据表重命名:alter table 旧数据表名字 rename 新数据表名字; 修改字段名:alter table 数据表名字 change 旧字段名称 新字段名称 新数据类型; 修改字段数据类型:alter table 数据表名字 modify 字段名字 数据类型; 修改字段的排列位置:alter table 数据表名字 modify 字段名1 数据类型 after 字段名2; //第一列可以使用FIRST,非第一列使用AFTER 删除数据表:drop table 数据表名字; 在表中添加新字段: alter tbale 数据表名字 add 新字段名字 数据类型 not full(可添加) after 放在一个已有字段后面; 删除表中字段: alter table 数据表名字 drop 要删除的字段; 删除数据库 :

全文索引xunsearch的详细讲解及sphinx的比较

时间秒杀一切 提交于 2020-04-04 06:45:36
一、获取: xunsearch下载地址: http://www.xunsearch.com/site/download。 linux命令行下载:wget http://www.xunsearch.com/download/xunsearch-full-latest.tar.bz2 解压:tar -xjf xunsearch-full-latest.tar.bz2 二、安装: 根据提示进行操作,输入 xunsearch 软件包的安装目录,这里最好把xunsearch单独放在一个目录下。 cd xunsearch-full/ sh setup.sh 三、启动 启动/重新启动 xunsearch 的后台服务$prefix 替换为你的xunsearch安装目录 cd $prefix; bin/xs-ctl.sh restart 添加到开机启动脚本,在 Linux 系统中将脚本指令$prefix/bin/xs-ctl.sh restart写进 /etc/rc.local 即可 四、xunsearch项目配置文件详解 项目名称 project.name = AppName 默认字符集 project.default_charset = UTF-8 定义字段[field_name] type 字段类型 string 字符型,适用多数情况,也是默认值 numeric 数值型,包含整型和浮点数

MySQL到底能有多少个字段

人盡茶涼 提交于 2020-04-01 01:23:31
今天技术讨论群里 “一切随遇而安”同学看书时出现一个疑问,一个MySQL的表中到底可以有多少个字段?带着这个疑问,我们展开了探讨,也接着讨论了一个单字段长度的问题。 1. 官方文档说明 官方文档的内容如下,主要意思是字段个数限制达不到理想的4096个,且和字段类型有关,innodb引擎的字段上限是1017,。 2. 测试表字段数限制 2.1 测试innodb引擎表 因官方文档介绍了innodb表字段限制是1017,因此可以写程序进行模拟。思路如下: a) 创建一张1个 char(1) 类型的innodb表 b) 循环往该表新增字段 直至报错 我使用的是python 脚本进行测试,脚本如下: #!/usr/bin/python # coding=utf-8 import pymysql as mdb import os sor_conn = mdb.connect(host='127.0.0.1',port=3306,user='root',passwd='123456') sor_cur = sor_conn.cursor() v_sql_d = "drop table if exists test.test_c ;" # 为了程序重复执行,添加判断 sor_cur.execute(v_sql_d) sor_conn.commit() v_sql_c = "create table

InnoDB存储引擎的记录格式

馋奶兔 提交于 2020-03-31 20:47:57
  InnoDB是存储引擎,负责将磁盘的数据按照我们的逻辑概念“表”那样存取,这里首先总结下表中每一行数据是以何种形式被InnoDB存储再磁盘的。InnoDB的行记录存储形式有很多种,compact、dynamic、redundant、compressed等。下面介绍compact格式的行数据结构: 每一行的数据组成   除了我们自己的真实数据外,为了提高性能和用于存取这行InnoDB需要加上必要的数据,这叫做额外信息。每一行数据都由 额外信息 + 真实数据 组成。 其中额外信息里又分为变长字段长度列表、null字段列表、记录头信息(记录头信息有很多用于存取行、管理行的数据);真实数据也并不是只有我们自己设置的数据,mysql还会为其添加一些字段例如:事务Id、回滚指针、行Id(没有设置主键时用于唯一标识行)。 额外信息的变长字段长度列表   如果某个字段设置为变长,mysql必须知道这个字段实际长度,不然mysql取这个字段时根本不知道取多少。变长字段的长度就存放在额外信息的变长字段长度列表里,但是不是顺序的而是倒序的。当然,如果这一行没有变长字段,这一个列表就不存在。例如:表中有如下数据: a(varchar(255)) | b (varchar(256)) | c(varchar(256)) ------------------------------------------

【20190404】MySQL疑难杂症-1034

泪湿孤枕 提交于 2020-03-30 11:45:01
目的 写文章的目的只是为了记录一下工作中遇到的一些实际问题,方便后续自己的复习。 问题描述 收到来自于开发的一个问题描述,说是在UAT环境给一张表加一个字段,但是怎么操作都是错误,如图: 问题解析 其实第一眼看上去的时候,这个错误信息给我的感觉就是这个表的数据字典出了问题,需要进行修复,但是执行下面操作的时候一直是提示是失败,这个时候就需要求助强大的google的了,通过google了一番的话,大部分提示都是和临时表的表空间有关联。 通过上面的截图我们可以很明显的看到这张表的磁盘大小是5G以上,由于是online 添加字段所以肯定是会创建临时表的,但是临时表是在根目录下面的 /tmp下面,可以看到根目录剩下的空间只有2.9G,没有足够的空间创建临时表的 。所以才会抛出上述的这个错误信息。 问题解决 将根目录下面的一些磁盘空间清楚,保证有足够的空间在线执行online DDL,建议最好是线下无业务的时候执行,不推荐这种方式在数据量比较大的时候。 使用percona的pt-online-schema-change命令。 来源: 51CTO 作者: liuhuang9496 链接: https://blog.51cto.com/11819159/2374043

mysql常用命令

拟墨画扇 提交于 2020-03-29 18:40:28
-----创建----- 查看服务器中当前有哪些数据库 mysql> show databases; 选择所使用的数据库 mysql> use 数据库名; 创建数据库 mysql> create database 数据库名; 在当前数据库中创建数据表 mysql> create table 表名 (字段 1 类型 1,...); -----删除----- 删除指定的数据库 mysql> drop database 数据库名; 删除当前或指定数据库中指定的数据表 mysql> drop table 表名; 删除所有记录 mysql> truncate table 表名; 删除字段 mysql> alter table 表名 drop 字段; 在数据表中删除指定的记录 mysql> delete from 表名 where 条件表达式; 将当前数据库表中记录清空 mysql> delete from 表名; 用optimize table来优化一下,只对MyISAM, BDB和InnoDB表起作用。运行过程中,MySQL会锁定表。 mysql> optimize table test.userinfo; -----查看----- 查看服务器中当前有哪些数据库 mysql> show databases; 显示当前数据库中有哪些数据表 mysql> show tables;