Day1 MySql安装和基本操作
数据和数据库
1.数据:客观事物的符号表示。
2.存储介质:纸,光盘,磁盘,u盘,云盘…
3.存储的目的:检索(查询)
存储数据量加大,导致检索的难度升高。
4.数据库(DB:database):按照一定的数据结构存储数据的仓库(关系模型)。
数据的分类
a) 结构化数据:可以按照一定结构进行描述。
b) 非结构化:不可以。
c) 半结构化:介于两者之间。
数据库分类
a) 关系型数据库: 结构化数据
b) 非关系型数据库:非结构化和半结构化
数据库管理系统(DBMS:database management System)
操纵和管理数据库。
数据库管理系统的分类
a) 关系型数据库管理系统(RDBMS:Relationship):
A. Oracle:Oracle公司,大型的关系型管理系统。应用场景广泛。(医药,金融,传统互联网…)
B. Mysql:Oracle公司,开源免费
C. SQL Server:Microsoft公司,中小型数据库。
D. DB2: IBM公司 《1984》
b) 非关系型数据库管理系统(Nosql):not only sql
redis
Mongdb
Hbase
Mysql数据库介绍
Mysql AB公司产品。开源免费的关系型数据库管理系统。
1996年,1.0版本
2000年,开源
2008年,被sun以10亿美元收购
2009年,sun被oracle以74亿美元收购
分库分表思想
分库
划分多个数据库(根据业务的不同划分,百度,华为….)。
分表
数据库中存储多张表,每张表中存储数据。以二维表格形式进行数据的存储。
GPL:开源软件协议
Mysql的下载和安装
1) 下载
https://dev.mysql.com/downloads/mysql/
2) 安装
安装版: msi(傻瓜式安装)
绿色版: zip
A. 解压到非中文路径下
B. 在运行中输入services.msc命令(查看服务)
C. 使用管理员身份进入dos命令,切换到bin目录,mysqld命令实现安装:mysqld –install
D. 卸载:mysqld –remove
E. 命令行启动:net start mysql
F. 停止服务:net stop mysql
G. 登录数据库:mysql –uroot –p密码
H. 没有密码,修改密码:mysqladmin –uroot –p password 新密码
按照注意事项:
管理员身份
关闭杀毒软件防火墙
不要使用多重网络(ping 127.0.0.1)
c:/windows/my.ini文件,删掉
3) 基本命令
a) exit:退出
b) show databases:查看数据库
c) use dbname:切换到某个数据库
d) show tables:展示所有的数据库表
4) 客户端工具
navicat / sqlyog
SQL
结构化查询语言(structure query language),数据库数据操作的通用语言。
存储引擎(innoDB):核心,语句不区分大小写。
分类
a) DDL(Data Definitionlanguage):数据定义语言
数据库对象的创建,修改和删除(数据库,表,视图,触发器…),create alter drop
b) DML(Data Manipulation language):数据操纵语言
对数据的增删改操作,insert delete update
c) DQL(Data query language):数据查询语言
select
d) TCL(Transaction control language):事务控制语言
commit 提交,rollback 回滚
e) DCL(Data control language ):数据控制语言(oracle)
grant:授权,revoke:取消授权
对数据库的操作(DDL)
1. 创建数据库 create
--创建数据库
create database IF NOT EXISTS mydb;
2.销毁数据库 drop
--销毁数据库
drop database IF EXISTS mydb;
表的操作(DDL)
表:二维表格的形式存储数据。
一行叫记录;
一列叫字段。
1.表的创建 create
--创建表保存学生的信息
--学生编号
--学生姓名
create table student(
sid int,
sname varchar(20)
);
--查看表结构
desc student;
2. 表的修改 alter
--添加字段
修改表结构添加字段(默认追加)
alter table student add sex varchar(20) first | after 列名
--修改字段的长度,类型,名称
alter table student change sname sname varchar(50);
--修改位置
alter table student change age age int after sex;
--表字段删除
alter table student drop cid;
3.表的销毁 drop
--销毁表
drop table student;
数据类型
1.数值
https://dev.mysql.com/doc/refman/5.7/en/integer-types.html
整型数据:

浮点型:
float(m,n):长度和小数点位数
double(m,n):
decimal(m,n):
2.字符串类型
char:固定长度的字符串
varchar:可变长度的字符串
3.日期类型
date:日期
time:时间
datetime:日期和时间
timestamp:时间戳
4.其他类型
text:长文本
blob:保存二进制数据
enum(‘F’ ,’M’):枚举
完整性约束
完整性
数据的准确性
分类
实体完整性
实体:记录
1.主键约束:primary key,唯一且不能为空
3种创建方式
--第一种:
create table student(
sid int primary key,
sname varchar(20)
);
--第二种:
create table student(
sid int,
sname varchar(20),
primary key(sid)
);
--第三种
alter table student add CONSTRAINT PK_SID primary key(sid);
2.唯一约束:unique,不重复
create table student(
sid int PRIMARY KEY,
sname varchar(20),
card varchar(18) unique
);
3.主键自增(mysql适用,oracle不适用(序列))
create table student(
sid int PRIMARY KEY auto_increment,
sname varchar(20),
card varchar(18) unique
);
域完整性
域:字段的值准确的。
A. 类型约束
B. 非空约束:not null
C. 默认值:default
create table student(
sid int PRIMARY KEY auto_increment,
sname varchar(20) not null,
card varchar(18) unique,
sex varchar(10) default 'man'
);
引用完整性:多张表之间
外键约束:(主外键)foreign key,参照完整性
一张表的某个字段(外键)的取值必须参考另一张表的主键值。
alter table emp add CONSTRAINT PK_DEPTNO foreign key(deptno) REFERENCES dept(deptno)
自定义完整性
check(mysql不支持) oracle
--添加约束保证部门编号只能在1到120之间
alter table dept add CONSTRAINT CK_AGE check(deptno BETWEEN 1 and 120)
删除约束
alter table emp drop primary key;
alter table emp drop foreign key;
Day1 MySql安装和基本操作的更多相关文章
- mysql安装及基本操作(mysql作业)
1 官网下载,链接 https://www.mysql.com/downloads/ Download MySQL Community Server 默认为你选好了Mac OS X 平台 选择的是. ...
- MYSQL安装与基本操作
http://docs.sqlalchemy.org/en/latest/ sqlalchemy文档 1.下载,下载版本太多,不知道下哪个好,别人介绍版本 进入官网-->点击最下面 DOW ...
- ubuntu linux mysql 安装 基本操作 命令
mysql --help #如果有信息证明系统已经安装了mysql mysql -V #查看版本号 netstat -tap|grep mysql #检查mysql是否在启动状态 卸载mysql: s ...
- MYSQL安装与库的基本操作
mysql数据库 什么是数据库 # 用来存储数据的仓库 # 数据库可以在硬盘及内存中存储数据 数据库与文件存储数据区别 数据库本质也是通过文件来存储数据, 数据库的概念就是系统的管理存储数据的文件 数 ...
- 【mysql】centos7下mysql的安装以及基本操作
centos7使用的MariaDB,替代了早期版本默认的MySQL.MariaDB是MySQL的一个分支,由开源社区维护,采用GPL授权许可,且MariaDB完全贱人MySQL. 检查centos7下 ...
- ubuntu下MySQL安装配置及基本操作
在linux下安装方法: 分为四种:一: 直接用软件仓库自动安装(如:ubuntu下,sudo apt-get install mysql-server; Debain下用yum安装): 二:官网下载 ...
- MySql安装与使用(linux)
安装 MySQL 注意:此处安装是yum安装为例: MySQL安装 #yum install mysql-server 完后显示如下: MySQL初始化 #service mysqld start 查 ...
- MySQL安装的挫折之路
由于对MySQL卸载的不干净,mysql 的MySQL Connector Net/xxx无法卸载,后期重装无法成功.所以只能采用zip 安装https://www.cnblogs.com/Micha ...
- MySQL安装部署及调优
MySQL安装 二进制安装 - mysql-5.5.49 mkdir /home/oldboy/tools -p cd /home/oldboy/tools/ rz #mysql-5.5.49-lin ...
随机推荐
- linux总结之find搜索文件(times 3)
个人原创,转自请在文章头部显眼位置注明出处:https://www.cnblogs.com/sunshine5683/p/10091341.html find命令的各种搜索 一.根据文件名进行查找 命 ...
- HDU 4279 Number-------找规律题
Number Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Subm ...
- 无法正常下载Nuget 包的问题
引用Nuget 是遇到的问题,再次记录一下. 问题描述:Install-Package : 无法安装程序包“Quartz 3.0.2”.您正在尝试将此程序包安装到某个将“.NETFramework,V ...
- 纠错帖:Zuul & Spring Cloud Gateway & Linkerd性能对比 (转载)
纠错帖:Zuul & Spring Cloud Gateway & Linkerd性能对比 Spring Cloud Spring Cloud Spring Cloud Gatew ...
- [NodeJs] 用Nodejs+Express搭建web,nodejs路由和Ajax传数据并返回状态,nodejs+mysql通过ajax获取数据并写入数据库
小编自学Nodejs,看了好多文章发现都不全,而且好多都是一模一样的 当然了,这只是基础的demo,经供参考,但是相信也会有收获 今天的内容是用Nodejs+Express搭建基本的web,然后呢no ...
- Mysql InnoDB的四个事务隔离级别和(分别逐级解决的问题)脏读,不可重复读,虚读
MySqlInnoDB的事务隔离级别有四个:(默认是可重复读repeatable read) 未提交读 read uncommit : 在另一个事务修改了数据,但尚未提交,在本事务中SELECT语句可 ...
- How to work with the snap environment
How to work with the snap environment SummaryThe snap environment manages snap agents and snap toler ...
- css动画和jq动画的简单区分
有很多不怎么用css3写动画的同学经常会对其中css3的transform,transition,translate,animation,@keyframes等等动画属性混淆错乱,经常使用了发现没有效 ...
- 微信小程序为什么不被看好?
我自认为对新技术还是比较有热情的,可对于小程序这个“新技术”,我却完全是被动的.去年9月份的时候,微信小程序开始内测,瞬间引爆朋友圈.知乎等一众分享平台.当时我大概了解了一下,觉得从技术角度上来说没啥 ...
- node(4)express 框架 EJS模板,cookie, session的学习
一.EJS 概述:前端咱们使用过的一个模板套路,是underscore的套路.接下来EJS它属于后台工程师人的模板. https://www.npmjs.com/package/ejs 官网地址 特点 ...