MySQL数据库操作
一_初识MySQL数据库
1、数据库
什么是数据库: 就是储存各种各样的数据仓库,注意数据库是一个数据系统来的,mysql就是一个数据库操作系统 我们基础课学习了哪些哪些储存数据呢? json,txt mysql和json有什么区别 就是mysql可以设置各种用户权限和内置操作函数
2、数据库分类
数据库分为:sql(关系型数据库), nosql(非关系型数据库) 1.关系型数据库 其实就是有一个关系模型(Excel 表格), 主要强调使用二维表的方式进行数据储存 元素:行,列, 表, 库 关系型数据库可以通过表与表进行关联 关系型数据库:mysql(免费开源的,中小型数据库), oracle(大型数据库,linux系统搭建,要钱), SQL server(大型数据库, 微软开发,要偏向windows平台,要钱) sql语句有共通性,90%都可以通用 2.非关系型数据库 应用在大数据初始数,因为有些数据是很难建立一个关系模型 储存方式:键值对方式 非关系型数据库:Habase(单纯数据库) + Hive(提供sql语句), MongoDB(尽量学习), Redis(尽量学习)... 两种数据库都要用到
3、数据库概念
1.数据(data): 描述事物的特征和属性(数字,文本,符号) 2.数据库(database):可以长期保存大量的数据仓库 3.数据管理管理系统(DBMS):是用户通过这个系统进行访问操作 比如mysql数据库就是mysql管理系统
二、MySQL库操作
了解SQL
结构化查询语句,用于储存,查询,更新操作管理关系型数据库的 sql关系型数据库就是很典型交互基础 1.sql指令 DDL:数据定义语言(数据库用来创建,删除,修改表结构操作) DQL:数据查询语言(对数据库的表格查询) DML:数据库操作语言(对表数据进行增删改) TCL:事务控制语言(拥有事务数据管理)一般DBA(数据管理员)的权限 DCL:数据控制语言(定义数据库的访问权限,安全级别)
SQL语言的规则
#单行注释 -- 两个横线+空格也是单行注释 /* 多行注释 */ # 注意我们的sql语句每条都要用分号结束,必须要用到分号结尾,不能省略 # sql是不区分大小写
1、数据库查询
# 1.数据库查询,表名,字段名也不区分大小写 show databases;
mysql库 这个数据库有user这个表,这个是专门管理用户权限和密码,不要动
2、数据库创建
# 数据库创建, # 格式 create database 库名; create database demo924;
3、查询创建的数据库的所有信息
# 查询创建的数据库的所有信息 # CREATE DATABASE `demo924` /*!40100 DEFAULT CHARACTER SET utf8 */ # 是不是创建数据库语句, show create database demo924; # 开发人员只有数据权限权限,表结构基本没用权限
4、切换使用数据库
# use 数据名; use demo924;
5、查看当前所在的数据库
select database();
6、删除数据库
# 不要弄,但是弄了也没用 drop database demo1;
三_MySQL表操作
1、数据类型
1、字符串类型
1.char(n): 最大储存字符255个字符,n是表示最大字符长度,如果不写默认为长度1 2.varchar(n): 最大储存65535字符长度, 不写默认是长度:长度为1 3.enum : 枚举,(单选题) 4.set: 多选题 5.text:文本,最大长度:理论是无限长度
2、 数值类型
1.int 储存整型, 范围+-21亿,直接够用 2.float(m,d)单精度,留存小数点后6(负数),7(正数)位 (m:表示数据总长度, d表示小数后几位) 3.double(m,d)双精度,留存小数后15位, (m:表示数据总长度, d表示小数后几位)
3、时间类型
1.year :年 2.date : 日 3. time : 时分秒 4.datetime 年月日时分秒 写入时间格式必须是双引号包裹, 本质还是字符串类型
2、表操作
1、创建表
格式: create table 表名( 字段名 数据类型, 字段名 数据类型, 字段名 数据类型, );
create table xiaohezi( name char(5), gender enum('男', '女', '武装直升飞机'), age int(3), height float(5, 2), birthday datetime ); create table xiaohezi( name char(5), gender enum('男', '女', '武装直升飞机'), age int(3), height float(5, 2), birthday datetime ); create table xiaohezi( name char(5), gender enum('男', '女', '武装直升飞机'), age int(3), height float(5, 2), birthday datetime )engine = InnoDB default charset = utf8;
2、表数据插入
# 如何添加一条完整的数据 # 数据库是怎样图片视频的,储存图片和视频地址 insert into 表名 value (数值1, ......); # 还可以插入多条数据 insert into 表名 value (数值1, ......), (数值2, ......), (数值3, ......), (数值4, ......);
insert into xiaohezi VALUES ('守护', '武装直升飞机', 40, 150.00, "1973-10-10 21:43:00"), ('帅得遭不住', '男', 10, 159.00, "2013-10-10 21:43:00"), ('逆水', '武装直升飞机', 80, 250.00, "1943-10-10 21:43:00"), ('李奕博', '女', 20, 160.00, "2003-10-10 21:43:00");