mysql创建数据库

Hadoop学习笔记—20.网站日志分析项目案例(三)统计分析

て烟熏妆下的殇ゞ 提交于 2020-02-18 01:57:45
网站日志分析项目案例(一)项目介绍: http://www.cnblogs.com/edisonchou/p/4449082.html 网站日志分析项目案例(二)数据清洗: http://www.cnblogs.com/edisonchou/p/4458219.html 网站日志分析项目案例(三)统计分析: 当前页面 一、借助Hive进行统计 1.1 准备工作:建立分区表   为了能够借助Hive进行统计分析,首先我们需要将清洗后的数据存入Hive中,那么我们需要先建立一张表。这里我们选择分区表,以日期作为分区的指标,建表语句如下:(这里关键之处就在于确定映射的HDFS位置,我这里是/project/techbbs/cleaned即清洗后的数据存放的位置) hive> CREATE EXTERNAL TABLE techbbs(ip string, atime string, url string) PARTITIONED BY (logdate string) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' LOCATION '/project/techbbs/cleaned';   建立了分区表之后,就需要增加一个分区,增加分区的语句如下:(这里主要针对20150425这一天的日志进行分区) hive> ALTER TABLE

【SQL】(MySQL)DDL——数据库DATABASE

蹲街弑〆低调 提交于 2020-02-17 19:58:47
文章目录 显示数据库 切换数据库 创建数据库 1.无重名数据库创建 2.有重名数据库创建 (1)无[IF NOT EXISXTS](显示ERROR) (2)有[IF NOT EXISXTS](提示warning) 3.[CHARSET=utf8] 删除数据库 1.删除已存在数据库 2.删除未存在数据库 (1)无[IF EXISXTS](显示ERROR) (2)有[IF EXISXTS](提示warning) 修改数据库编码 显示数据库 语法:SHOW DATABASES; 输入语句: mysql > SHOW DATABASES ; 运行结果: + --------------------+ | Database | + --------------------+ | information_schema | | mysql | | performance_schema | | test | + --------------------+ 4 rows in set ( 0.01 sec ) 显示所有数据库的名字。 切换数据库 语法:USE 数据库名; 输入语句: mysql > USE mysql 运行结果: Database changed 创建数据库 语法:CREATE DATABASE [IF NOT EXISXTS] 数据库名 [CHARSET=utf8]; 1

【SQL】(MySQL)DDL——表TABLE

扶醉桌前 提交于 2020-02-17 18:43:30
文章目录 创建表 显示表 查询表 删除表 修改表 1.添加列 2.修改列 3.删除列 4.修改表名 创建表 语法:CRATE TABLE [IF NOT EXISTS] 表名(    列名 列类型    列名 列类型    ···  ···    列名 列类型    ); 输入语句: mysql > CREATE TABLE tb_stu ( - > number CHAR ( 11 ) , - > name VARCHAR ( 50 ) , - > age INT , - > gender VARCHAR ( 10 ) - > ) ; 运行结果: Query OK , 0 rows affected ( 0.38 sec ) 显示表 语法:SHOW TABLES; 输入语句: mysql > SHOW TABLES ; 运行结果: + -----------------+ | Tables_in_mydb1 | + -----------------+ | tb_stu | + -----------------+ 1 row in set ( 0.34 sec ) 显示当前数据库中所有表的名字。 查询表 语法:DESC 表名; 输入语句: mysql > DESC tb_stu ; 运行结果: + --------+-------------+------+-----+----

1、Mysql无法创建外键的原因 2、MySql 外键约束 之CASCADE、SET NULL、RESTRICT、NO ACTION分析和作用

孤街醉人 提交于 2020-02-17 18:21:51
在Mysql中创建外键时,经常会遇到问题而失败,这是因为Mysql中还有很多细节需要我们去留意,我自己总结并查阅资料后列出了以下几种常见原因。 1. 两个字段的类型或者大小不严格匹配。例如,如果一个是int(10),那么外键也必须设置成int(10),而不是int(11),也不能是tinyint。另外,你还必须确定两个字段是否一个为 signed,而另一个又是unsigned(即:无符号),这两字段必须严格地一致匹配,更多关于signed和unsigned的信息,请参阅: http://www.verysimple.com/blog/?p=57 2. 试图设置外键的字段没有建立起索引,或者不是一个primary key(主键)。如果其中一个不是primary key的话,你必须先为它创建一个索引。 3. 其中一个或者两个表是MyISAM引擎的表。若想要使用外键约束,表必须是InnoDB引擎(实际上,如果两个表都是MyISAM 引擎的,这个错误根本不会发生,但也不会产生外键,只会建立索引)你需要检查表的引擎类型。 4. 外键的名字不能重复。你应该检查你的数据库以确保外健名字是唯一的,或者你在键名后面加上几个随机的字符以测试是否是这个原因。 5. 你可能设置了ON DELETE SET NULL,但是相关的键的字段又设置成了NOTS NULL值

MySql 外键约束 之CASCADE、SET NULL、RESTRICT、NO ACTION分析和作用

风流意气都作罢 提交于 2020-02-17 17:56:14
MySQL有两种常用的引擎类型:MyISAM和InnoDB。目前只有InnoDB引擎类型支持外键约束。InnoDB中外键约束定义的语法如下: ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]] FOREIGN KEY [index_name] (index_col_name, ...) REFERENCES tbl_name (index_col_name,...) [ON DELETE reference_option] [ON UPDATE reference_option] 例如: ALTER TABLE `user_resource` CONSTRAINT `FKEEAF1E02D82D57F9` FOREIGN KEY (`user_Id`) REFERENCES `sys_user` (`Id`) InnoDB也支持使用ALTER TABLE来删除外键: ALTER TABLE `user_resource` DROP FOREIGN KEY `FKEEAF1E02D82D57F9`; CASCADE 在父表上update/delete记录时,同步update/delete掉子表的匹配记录 SET NULL 在父表上update/delete记录时,将子表上匹配记录的列设为null (要注意子表的外键列不能为not null)

MySQL删除存储过程(DROP PROCEDURE)

丶灬走出姿态 提交于 2020-02-17 14:42:36
当 MySQL 数据库中存在废弃的存储过程是,我们需要将它从数据库中删除。 基本语法 存储过程被创建后,保存在数据库服务器上,直至被删除。可以使用 DROP PROCEDURE 语句删除数据库中已创建的存储过程。 语法格式如下: DROP { PROCEDURE | FUNCTION } [ IF EXISTS ] <过程名> 语法说明如下: 1) 过程名 指定要删除的存储过程的名称。 2) IF EXISTS 指定这个关键字,用于防止因删除不存在的存储过程而引发的错误。 注意:存储过程名称后面没有参数列表, 已经为大家精心准备了大数据的系统学习资料,从Linux-Hadoop-spark-......,需要的小伙伴可以点击 也没有括号,在删除之前,必须确认该存储过程没有任何依赖关系,否则会导致其他与之关联的存储过程无法运行。 删除存储过程 删除存储过程 GetScoreByStu,查看存储过程的运行结果如下所示。 mysql> DROP PROCEDURE GetScoreByStu; Query OK, 0 rows affected (0.00 sec) mysql> CALL GetScoreByStu('Green'); ERROR 1305 (42000): PROCEDURE test_db.GetScoreByStu does not exist 来源: CSDN

Mysql存储过程、触发器和事务

会有一股神秘感。 提交于 2020-02-17 14:31:47
一、存储过程 定义存储过程 语法: create procedure 过程名(参数1,参数2....) begin sql语句; end 创建存储过程之前我们必须修改mysql语句默认结束符; 要不能我们不能创建成功 , 使用 delimiter 可以修改执行符号。 mysql> delimiter % #这样结束符就为% mysql> create procedure selCg() -> begin -> select * from category; -> end % 调用存储过程 语法: call 过程名(参数1,参数2); mysql> call selCg() ; 存储过程参数类型 In 参数 特点:读取外部变量值,且有效范围仅限存储过程内部 例 1 : mysql> delimiter // mysql> create procedure pin(in p_in int) -> begin -> select p_in; -> set p_in=2; -> select p_in; -> end // mysql> delimiter ; #使用完马上恢复默认的 mysql> call pin(1); #调用pin存储过程 例 2 :定义存储过程 getOneBook,当输入某书籍 id 后,可以调出对应书籍记录 mysql> create procedure

Mysql下载安装(win10)

谁说胖子不能爱 提交于 2020-02-17 14:28:49
Mysql的下载(学习使用) 官网下载地址: https://dev.mysql.com/ (不要在download那里找,在developer zone 下面点击mysql8.0,转到下载界面,下载次数最多的就是学习用的) 下载的是一个压缩包,解压到要安装的位置 安装目录下,跟bin同一目录的位置,手动添加一个配置文件(用记事本或者Notepad++或者其它编辑工具),命名一般为my.ini 内容如下: [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 [mysqld] #设置3306端口 port = 3306 # 设置mysql的安装目录---注意 是自己解压的路径 basedir= C:\APP\MYSQL\mysql-8.0.19-winx64 # 设置mysql数据库的数据的存放目录 datadir= C:\APP\MYSQL\mysql-8.0.19-winx64 \data # 允许最大连接数 max_connections=200 # 服务端使用的字符集默认为8比特编码的latin1字符集 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB 将大号的字体改换成你的安装目录,这样你的配置文件应该就行了

在MySQL字段中使用逗号分隔符

若如初见. 提交于 2020-02-17 07:09:58
转载自: https://joyqi.com/information-tech/use-comma-in-mysql-columns.html 大多数开发者应该都遇到过在mysql字段中存储逗号分割字符串的经历,无论这些被分割的字段代表的是id还是tag,这个字段都应该具有如下几个共性。 被分割的字段一定是有限而且数量较少的,我们不可能在一个字符串中存储无限多个字符 这个字段所属的表与这个字段关联的表,一定是一对多的关系 比如下面这个表结构所代表的content与tag这两个对象 mysql> SELECT * FROM content; +----+------+ | id | tags | +----+------+ | 1 | 1,2 | | 2 | 2,3 | +----+------+ 2 rows in set (0.01 sec) mysql> SELECT * FROM tag; +----+-------+ | id | name | +----+-------+ | 1 | php | | 2 | mysql | | 3 | java | +----+-------+ 3 rows in set (0.00 sec) 这些原则问题,相信大家在开发过程中已经很熟悉了。 但是你在使用这种方法来处理实际问题时,内心一定还是有些许忐忑

mysql基本命令

爱⌒轻易说出口 提交于 2020-02-17 05:31:22
文章目录 命令行连接 登录mysql 退出登录 数据库操作 查看所有数据库 使用数据库 查看当前使用的数据库 创建数据库 删除数据库 数据表 查看当前数据库中所有表 查看表结构 创建表 修改表 修改表-添加字段 修改表-修改字段:重命名版 修改表-修改字段:不重命名版 修改表-删除字段 删除表 查看表的创建语句 增删改查(curd) curd的解释: 代表创建(Create)、更新(Update)、读取(Retrieve)和删除(Delete) 查询基本使用 查询指定列 增加 修改 删除 想进一步学习mysql的查询语句可以 点击这里 命令行连接 登录mysql mysql -uroot -p 回车后输入密码,当前设置的密码为mysql 退出登录 quit 和 exit或ctrl+d 数据库操作 查看所有数据库 show databases; 使用数据库 use 数据库名; 查看当前使用的数据库 select database(); 创建数据库 create database 数据库名 charset=utf8; 例:create database python charset=utf8; 删除数据库 drop database 数据库名; 例:drop database python; 数据表 查看当前数据库中所有表 show tables; 查看表结构 desc 表名; 创建表