认识mysql(1)
---恢复内容开始---
1、MySQL概述
1.什么是数据库?
存储数据的仓库
2.都有哪些公司在用数据库?
金融机构、游戏公司、购物网站、论坛网站...
3.提供数据库服务的软件?
1.软件分类
MySQL、Oracle、SQL_Server、DB2、MongoDB、MariaDB
2.生产环境中,如何选择使用哪个数据库软件?
开源:MYSql,Mariadb,MongoDB
不开源:Oracle,DB2,SQL_Server
3.公司的类型:
1.商业数据库:政府部门,金融机构
2.开源数据库:游戏网站、购物网站、论坛网站.....
4、MySQL的特点
1.关系型数据库
1.关系型数据库特点
1.数据是以行和列(表格)的形式去存储
2.表中的每一行叫一条记录,每一列叫一个字段
3.表和表之间的罗技关联叫关系
2.示例
1.关系型数据库存储
表1 学生信息表
姓名 年龄 班级
星矢 25 三班
水冰月 29 六班
表2 班级信息表
班级 班主任
三班 大空翼
六班 松人
2.非关系型数据库中存储
{"姓名":"水冰月","年龄":"25"}
2、跨平台
可以在Unix,Linux,Windows上运行数据库服务;
3、支持多种编程语言
python,java,php,c/c++....
5、数据库软件。数据库、数据仓库的概念
1.数据库软件
一个软件,看得见,可操作,实现数据库的逻辑功能
2、数据库
是一种逻辑概念,用来存放数据的仓库,侧重存储
3、数据仓库
从数据量上来说,比数据库庞大的多,主要用于数据分析和数据挖掘
2、MySQL安装
1.Ubuntu安装
安装服务端
sudo apt-get install mysql-server
安装客户端
sudo apt-get install mysql-client
Ubuntu安装软件
1、sudo apt-get update
访问源列表中的每个网站,读取软件列表,保存到本地/var/lib/apt/lists
2、sudo apt-get upgrade
把本地已安装软件与刚下载的软件列表进行对比,如果发现已安装版本低则更新
3、sudo apt-get -f install
修复依赖关系
3、启动和链接MySQL服务
1.服务端启动
1.查看MySQL状态
sudo /etc/init.d/mysql status
2、客户端连接
1命令格式
mysql -h主机地址 -u用户名 -p密码
如:mysql -hlocalhost -uroot -p123456
2.本地连接可省略 -h选项
mysql -uroot -p123456
4、基本SQL命令
1.SQL命令的使用规则
1.每条命令的使用规则
1.每条命令必须以;结尾
2.SQL命令不区分字母大小写
3.使用\c来终止当前命令的执行
2.库的管理
1.库的基本操作
1.查看已有库
show databases;
2.创建库(指定字符集)
create database 库名 [character set utf8];
3.查看创建库的语句(字符集)
show create database 库名
4.查看当前所在库
select database 库名;
5.切换库
use 库名;
6.查看库中已有库
show tables;
7.删除库
drop database 库名;
2、库名的命名规则
1.数字、字母、下划线。但不能使用纯数字
2.库名区分字母大小写
3.不能使用特殊字符和mysql关键字
3、练习
1、创建库testdb,指定字符集为 utf8
create database testdb character set utf8;
2、进入到库 testdb
use testdb;
3、查看当前所在库
select database();
4、创建库 testdb2,指定字符集为 latin1
create database testdb2 character set latin1;
5、进入到库 testdb2
use testdb2;
6、查看 testdb2 的字符集(查看创建库的语句)
show create database testdb2;
7、删除库 testdb
drop database testdb;
8、删除库 testdb2
drop database testdb2;
3、表的管理
1.表的基本操作
1.创建表(指定字符集)
create table 表名(
字段名 数据类型,
字段名 数据类型,
...
);
2、查看已有表的字符集
show create table 表名;
3、查看表结构
desc 表名;
4、删除表
drop table 表名;
5、Mac安装mysql
1、cd
2、vi .bash_profile
添加 :PATH="$PATH":/usr/local/mysql/bin
3、source .bash_profile
6、表记录管理
插入(insert)
1、insert into 表名 values(值1),(值2),...;
2、insert into 表名(字段1,...) values(值1),...;
2、查询(select)
1、select * from 表名 [where 条件];
2、select 字段1,字段名2 from 表名 [where 条件];
5、如何更改默认字符集
1、方法(通过更改MySQL配置文件实现)
2、步骤
1、获取root权限
sudo -i
2、cd /etc/mysql/mysql.conf.d/
3、备份 :cp mysqld.cnf mysqld.cnf.bak
4、subl mysqld.cnf
[mysqld]
character_set_server = utf8
5、重启mysql服务
/etc/init.d/mysql restart
MAC:/etc/my.cnf
[mysqld]
character_set_server = utf8
6、客户端把数据存储到数据库服务器上的过程
1、连接到数据服务器 mysql -uroot -p123456
2、选择一个库 use 库名
3、创建表/修改表 update 表名...
4、断开与数据库连接 exit; | quit; | \q;
7、数据类型
1、数值类型
1、整型
1、int 大整型(4个字节)
取值范围 :2**32 - 1(42亿多)
2、tinyint 微小整型(1个字节)
1、有符号(signed默认) : -128 ~ 127
2、无符号(unsigned) : 0 ~ 255
age tinyint unsigned,
3、smallint 小整型(2个字节)
4、bigint 极大整型(8个字节)
2、浮点型
1、用法
字段名 float(m,n) m->总位数 n->小数位位数
float(5,2)取值范围? -999.99 ~ 999.99
2、decimal(最多显示28个有效位)
1、decimal(m,n)
2、存储空间(整数、小数分开存储)
规则:将9的倍数包装成4个字节
示例:decimal(19,9)
整数部分:10/9=商1余1 4字节+1字节=5字节
小数部分:9/9=商1余0 4字节+0字节=4字节
占:9字节
2、字符类型
1、char(定长)
1、取值范围:1~255
2、varchar(变长)
1、取值范围:1~65535
2、text / longtext(4G) / blob / longblob(4G)
3、char和varchar的特点
1、char :浪费存储空间,性能高
2、varchar :节省存储空间,性能低
---恢复内容结束---
认识mysql(1)的更多相关文章
- Hadoop 中利用 mapreduce 读写 mysql 数据
Hadoop 中利用 mapreduce 读写 mysql 数据 有时候我们在项目中会遇到输入结果集很大,但是输出结果很小,比如一些 pv.uv 数据,然后为了实时查询的需求,或者一些 OLAP ...
- mysql每秒最多能插入多少条数据 ? 死磕性能压测
前段时间搞优化,最后瓶颈发现都在数据库单点上. 问DBA,给我的写入答案是在1W(机械硬盘)左右. 联想起前几天infoQ上一篇文章说他们最好的硬件写入速度在2W后也无法提高(SSD硬盘) 但这东西感 ...
- LINUX篇,设置MYSQL远程访问实用版
每次设置root和远程访问都容易出现问题, 总结了个通用方法, 关键在于实用 step1: # mysql -u root mysql mysql> Grant all privileges o ...
- nodejs进阶(6)—连接MySQL数据库
1. 建库连库 连接MySQL数据库需要安装支持 npm install mysql 我们需要提前安装按mysql sever端 建一个数据库mydb1 mysql> CREATE DATABA ...
- MySQL高级知识- MySQL的架构介绍
[TOC] 1.MySQL 简介 概述 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司. MySQL是一种关联数据库管理系统,将数据保存在不同的表中,而 ...
- 闰秒导致MySQL服务器的CPU sys过高
今天,有个哥们碰到一个问题,他有一个从库,只要是启动MySQL,CPU使用率就非常高,其中sys占比也比较高,具体可见下图. 注意:他的生产环境是物理机,单个CPU,4个Core. 于是,他抓取了CP ...
- 我的MYSQL学习心得(一) 简单语法
我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...
- Entity Framework Core 实现MySQL 的TimeStamp/RowVersion 并发控制
将通用的序列号生成器库 从SQL Server迁移到Mysql 遇到的一个问题,就是TimeStamp/RowVersion并发控制类型在非Microsoft SQL Server数据库中的实现.SQ ...
- Docker笔记一:基于Docker容器构建并运行 nginx + php + mysql ( mariadb ) 服务环境
首先为什么要自己编写Dockerfile来构建 nginx.php.mariadb这三个镜像呢?一是希望更深入了解Dockerfile的使用,也就能初步了解docker镜像是如何被构建的:二是希望将来 ...
- 当忘记mysql数据库密码时如何进行修改
因为长时间没有使用数据库了,或者把密码改完之后就忘了数据库密码,不能正常进入数据库,也无法修改密码,有一个简单的常用修改密码方式: 1.首先找到和打开mysql.exe和mysqld.exe所在的文件 ...
随机推荐
- MD5-UTF8-大写加密
private string GetMD5Hash(string str) { string md5Str = ""; byte[] buffer = Encoding.UTF8. ...
- Scala_Load csv data to hive via spark2.1_via pass parameters_HiveAllType
prepare CSV data NT,col_SMALLINT,col_BIGINT,col_INT,col_FLOAT,col_DOUBLE,col_DECIMAL,col_TIMESTAMP,c ...
- springBoot使用外部Tomcat启动项目
实现思路是: 将springBoot项目自带的tomcat在部署的时候不使用. 方法一:将springBoot自带tomcat编辑成只在编译和测试时使用. 转载出处:https://www.edurt ...
- $.getScript("/Scripts/js/video.min.js");
js内引用JS: $.getScript("/Scripts/js/video.min.js");
- Eclipse中mybatis的xml文件没有提示,出现the file cannot be validated as the XML definition.....
1.下载dtd文件 2.在eclipse中配置本地dtd文件: Window->Preferences->XML->XML Catalog->User Specified En ...
- postgresql删除还有活动连接的数据库
select pg_terminate_backend(pid) from pg_stat_activity where datname='testdb' and pid<>pg_back ...
- 四,JVM 自带命令行工具之JStack
jstack(stack trace for java) 命令 用于查看虚拟机当前时刻的线程快照(一般称为threaddump或者javacore文件).线程快照就是当前虚拟机内每一条线程正在执行的方 ...
- 如何添加/移除CSS类
在网页设计中,我们常常要使用Javascript来改变页面元素的样式.其中一种办法是改变页面元素的CSS类(Class),这在传统的Javascript里,我们通常是通过处理HTML Dom的clas ...
- 《C#高效编程》读书笔记07-理解GetHashCode()的陷阱
GetHashCode()函数仅会在一个地方用到,即为基于散列(hash)的集合定义的散列键时,此类集合包括HashSet和Dictionary<K,V>容器等. 但object基类提供的 ...
- JavaScript中函数声明和函数表达式的区别
声明一个函数: var x=1; foo(); function foo() { console.log(x);//1 } myfun();//报错 定义一个函数表达式: var myfun=myfo ...