什么是数据库? 是存放数据的电子仓库。以某种方式存储百万条,上亿条数据,供多个用户访问共享。 每个数据库都有一个或多个不同的api用于创建、访问,管理和复制所保存的数据。 数据库分关系型数据库和非关系型数据库 什么是关系型数据库? 依据关系模型创建的数据库,把数据保存在不同的表中,表与表存在着某些关系。 特点: 1.安全 2.保持数据的一致性 3.实现对表与表进行复杂的数据查询 常见的关系型数据库: 1.db2 2.oracle 3.mysql 4、sql server 什么是非关系型数据库? 非关系型数据库也叫nosql数据库,全称not only sql。通常数据以对象的形式存储在数据库中,不固定结构,例如列模型,键值对模型。 特点: 1.效率高 2.容易扩展 3.使用更加灵活 常见的关系型数据库: 1.hbase(列模型) 2.redis(键值对模型) 3.mongodb(文档类模型) mysql介绍 Mysql是关系型数据库管理系统,我们常说的xxxx数据库就是指xxxx数据库管理系统。 Mysql数据库由瑞典Mysql DB公司开发,目前属于Oracle公司(甲骨文公司),在web应用方面,Mysql是最好的关系型数据库管理系统 Mysql特点 1.体积小,安装简单,维护成本低 2.开源,免费 3.使用C++编写 4.支持多系统(linux,mac os,windows) 5、与其他工具组合可以搭建一个免费的网站系统 LAMP:LINUX+APACHE+mysql+php LNMP:linux+nginx+mysql+php 6、支持多种编程语言提供的api,包括c,c++,python,java,php 7、支持多种存储引擎innodb;(5.7版本以后才有) 8、mysql使用标准的sql数据语言方式 应用架构: 单点 ,适合小规模应用 复制,适合中小规模应用 集群,适合大规模应用 数据库的术语: 数据库:是一些关联表的集合。 数据表:表是数据的矩阵 列: 行: 冗余:存储两倍以上的数据,增加数据的安全性,但是降低了性能 主键: 外键: 索引: 视图: 存储过程: 临时表 安装mysql: 1、windos安装 2、linux安装 rpm -qa|grep mysql 查看mysql yum remove 包名 yum remove mysql* 删除所有的包,注意:只能删除在线安装包 yum erase 包名 rpm -e --nodeps 包名 yum install mysql 安装客户端 yum install mysql-server 安装服务端 service mysqld status 查看mysql状态 service mysqld start 开启mysql服务 service mysqld stop 关闭mysql服务 service mysqld restart 重启mysql服务 service iptables stop 临时关闭防火墙 chkconfig iptables off 或chkconfig --level 2345 iptables off永久关闭防火墙 mysqladmin -u root password 123456 设置密码,在linux中设置 退出:quit ,exit ,\q ,ctrl+z ,ctrl+c 在数据库中操作设置: grant all privileges on *.*to root @‘%‘identified by ‘123456‘;设置权限 flush privileges;刷新权限 mysql -u root -p 进入数据库操作界面 输入密码 show databases; 查看数据库管理系统中所有的数据库 use 库名 ; 进入指定的数据库 create database 自定义库名;创建库名 create database if not exists 数据库名 (查看是否有重复的库名 ) drop database 库名 删除库名 drop database if exists 库名 删除语句,如果有则删除名,没有则不删除 注意点: 1、使用sql语句,末尾要加上;分号 2、databases 使用复数 Navicat工具介绍 Navicat是一款数据库管理工具。可以用于连接本地或者远程的Mysql,SQL Server,SQLLite,Oracle等数据库,进行数据库管理和日常操作。 我们使用的工具是Navicat For Mysql. 是一款用于关门管理mysql数据库的管理工具。不能操作其他的数据库管理系统。Navicat Premium可以连接多个不同类型的数据库。 连接注意项: 1、防火墙关闭 2、mysql服务器开启 3、权限设置成功,并且刷新 4、ip输入错误,有变更 5、密码不正确 看报错: 1045: 2003: 1064: 1130: 2002: ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var mysql 启动不了 表结构: ddl 结构操作语言,数据定义语言,操作数据库表格 #show tables;# 显示数据库所有的表 一个字节占多少长度与编码有关 utf-8 :一个汉字占3个字节 gbk:一个汉字占2个字节 int 字节4 整数 范围:-2^31() 到 2^31-1() bigint 字节8 存储超大整数: float 字节4 描述单精度浮点型数据 如:温度,金额 char 固定长度字符串 字节:特定长度(高达255字符) vachar 最大限制可变长度字符串字节 (高达65535 字符) date 日期 字节3 描述:yyyy-mm-dd格式 time 时间 字节3 描述:hh:mm:ss 格式 datetime 日期和时间 字节8 描述:yyyy-mm-dd hh:mm:ss year 年 字节1 描述:yyyy 约束: 定义实际上就是表中的限制条件 作用:表在设计的时候加入约束的目的是为了保证表中的记录完整和有效 约束的种类: 1、非空约束:(not null)非空 用于保证字段的值不能为空; 2、唯一约束:(unique) 保证字段值最具有唯一性(不能重复),并且为空 3、主键约束:(primary key)主键,用于保证字段值具有唯一性,并且非空 4、外键约束:(foreign key) 5、默认: default 6、自增长:auto_increment (1)与主键 约束一起使用 ,针对id (2)每插入一条数据,指定的字段值+1 添加约束的的时机: 1、建表 2、修改表 主键约束和唯一约束的区别: 主键 不允许为空,最多一个, 允许组合 唯一 允许为空 ,可以由多个, 允许组合 外键: 1、要求有主表和从表 2、建立外键是在从表设置外键, 3、主表和从表的字符类型要一致 4、主表的关联列是以key 5、插入 数据:先插入主表,在插入从表 6、删除数据,先删除从表,在删除主表 建表: desc 表名;查看表结构 select * from 表名 查看表中所有的数据 * 表示所有 创建表格式: create table 表名 (字段名1 字符类型1(字符宽度1) 约束 ,字段名2 字符类型2(字符宽度2)); #create table gz16 (id int(10)primary key,name VARCHAR(20)); default charset=utf8 删除表:格式:drop table 表名 #drop table gz16; 表添加字段:alter table 表名 add 字段名(字符类型(字符宽度)) 表修改字段: alter table 表名 change 旧字段名 新字段名(字符累类型(字符宽度)) 删除字段: alter table 表名 dorp 字段名 修改表名:alter table 表名 rename 新表名 方法一: insert into 表名 (字段1, 字段2 ,字段3) values (1,‘xiao‘ ,"nan","86" ) 方法二: insert into 表名 values (2,"wang ","nv","76"),(3,"wang ","nv","76"),(4,"wang ","nv","76") 什么是数据库? 是存放数据的电子仓库。以某种方式存储百万条,上亿条数据,供多个用户访问共享。 每个数据库都有一个或多个不同的api用于创建、访问,管理和复制所保存的数据。 数据库分关系型数据库和非关系型数据库 什么是关系型数据库? 依据关系模型创建的数据库,把数据保存在不同的表中,表与表存在着某些关系。 特点: 1.安全 2.保持数据的一致性 3.实现对表与表进行复杂的数据查询 常见的关系型数据库: 1.db2 2.oracle 3.mysql 4、sql server 什么是非关系型数据库? 非关系型数据库也叫nosql数据库,全称not only sql。通常数据以对象的形式存储在数据库中,不固定结构,例如列模型,键值对模型。 特点: 1.效率高 2.容易扩展 3.使用更加灵活 常见的关系型数据库: 1.hbase(列模型) 2.redis(键值对模型) 3.mongodb(文档类模型) mysql介绍 Mysql是关系型数据库管理系统,我们常说的xxxx数据库就是指xxxx数据库管理系统。 Mysql数据库由瑞典Mysql DB公司开发,目前属于Oracle公司(甲骨文公司),在web应用方面,Mysql是最好的关系型数据库管理系统 Mysql特点 1.体积小,安装简单,维护成本低 2.开源,免费 3.使用C++编写 4.支持多系统(linux,mac os,windows) 5、与其他工具组合可以搭建一个免费的网站系统 LAMP:LINUX+APACHE+mysql+php LNMP:linux+nginx+mysql+php 6、支持多种编程语言提供的api,包括c,c++,python,java,php 7、支持多种存储引擎innodb;(5.7版本以后才有) 8、mysql使用标准的sql数据语言方式 应用架构: 单点 ,适合小规模应用 复制,适合中小规模应用 集群,适合大规模应用 数据库的术语: 数据库:是一些关联表的集合。 数据表:表是数据的矩阵 列: 行: 冗余:存储两倍以上的数据,增加数据的安全性,但是降低了性能 主键: 外键: 索引: 视图: 存储过程: 临时表 安装mysql: 1、windos安装 2、linux安装 rpm -qa|grep mysql 查看mysql yum remove 包名 yum remove mysql* 删除所有的包,注意:只能删除在线安装包 yum erase 包名 rpm -e --nodeps 包名 yum install mysql 安装客户端 yum install mysql-server 安装服务端 service mysqld status 查看mysql状态 service mysqld start 开启mysql服务 service mysqld stop 关闭mysql服务 service mysqld restart 重启mysql服务 service iptables stop 临时关闭防火墙 chkconfig iptables off 或chkconfig --level 2345 iptables off永久关闭防火墙 mysqladmin -u root password 123456 设置密码,在linux中设置 退出:quit ,exit ,\q ,ctrl+z ,ctrl+c 在数据库中操作设置: grant all privileges on *.*to root @‘%‘identified by ‘123456‘;设置权限 flush privileges;刷新权限 mysql -u root -p 进入数据库操作界面 输入密码 show databases; 查看数据库管理系统中所有的数据库 use 库名 ; 进入指定的数据库 create database 自定义库名;创建库名 create database if not exists 数据库名 (查看是否有重复的库名 ) drop database 库名 删除库名 drop database if exists 库名 删除语句,如果有则删除名,没有则不删除 注意点: 1、使用sql语句,末尾要加上;分号 2、databases 使用复数 Navicat工具介绍 Navicat是一款数据库管理工具。可以用于连接本地或者远程的Mysql,SQL Server,SQLLite,Oracle等数据库,进行数据库管理和日常操作。 我们使用的工具是Navicat For Mysql. 是一款用于关门管理mysql数据库的管理工具。不能操作其他的数据库管理系统。Navicat Premium可以连接多个不同类型的数据库。 连接注意项: 1、防火墙关闭 2、mysql服务器开启 3、权限设置成功,并且刷新 4、ip输入错误,有变更 5、密码不正确 看报错: 1045: 2003: 1064: 1130: 2002: ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var mysql 启动不了 表结构: ddl 结构操作语言,数据定义语言,操作数据库表格 #show tables;# 显示数据库所有的表 一个字节占多少长度与编码有关 utf-8 :一个汉字占3个字节 gbk:一个汉字占2个字节 int 字节4 整数 范围:-2^31() 到 2^31-1() bigint 字节8 存储超大整数: float 字节4 描述单精度浮点型数据 如:温度,金额 char 固定长度字符串 字节:特定长度(高达255字符) vachar 最大限制可变长度字符串字节 (高达65535 字符) date 日期 字节3 描述:yyyy-mm-dd格式 time 时间 字节3 描述:hh:mm:ss 格式 datetime 日期和时间 字节8 描述:yyyy-mm-dd hh:mm:ss year 年 字节1 描述:yyyy 约束: 定义实际上就是表中的限制条件 作用:表在设计的时候加入约束的目的是为了保证表中的记录完整和有效 约束的种类: 1、非空约束:(not null)非空 用于保证字段的值不能为空; 2、唯一约束:(unique) 保证字段值最具有唯一性(不能重复),并且为空 3、主键约束:(primary key)主键,用于保证字段值具有唯一性,并且非空 4、外键约束:(foreign key) 5、默认: default 6、自增长:auto_increment (1)与主键 约束一起使用 ,针对id (2)每插入一条数据,指定的字段值+1 添加约束的的时机: 1、建表 2、修改表 主键约束和唯一约束的区别: 主键 不允许为空,最多一个, 允许组合 唯一 允许为空 ,可以由多个, 允许组合 外键: 1、要求有主表和从表 2、建立外键是在从表设置外键, 3、主表和从表的字符类型要一致 4、主表的关联列是以key 5、插入 数据:先插入主表,在插入从表 6、删除数据,先删除从表,在删除主表 建表: desc 表名;查看表结构 select * from 表名 查看表中所有的数据 * 表示所有 创建表格式: create table 表名 (字段名1 字符类型1(字符宽度1) 约束 ,字段名2 字符类型2(字符宽度2)); #create table gz16 (id int(10)primary key,name VARCHAR(20)); default charset=utf8 删除表:格式:drop table 表名 #drop table gz16; 表添加字段:alter table 表名 add 字段名(字符类型(字符宽度)) 表修改字段: alter table 表名 change 旧字段名 新字段名(字符累类型(字符宽度)) 删除字段: alter table 表名 dorp 字段名 修改表名:alter table 表名 rename 新表名 方法一: insert into 表名 (字段1, 字段2 ,字段3) values (1,‘xiao‘ ,"nan","86" ) 方法二: insert into 表名 values (2,"wang ","nv","76"),(3,"wang ","nv","76"),(4,"wang ","nv","76")
什么是数据库? 是存放数据的电子仓库。以某种方式存储百万条,上亿条数据,供多个用户访问共享。 每个数据库都有一个或多个不同的api用于创建、访问,管理和复制所保存的数据。 数据库分关系型数据库和非关系型数据库 什么是关系型数据库? 依据关系模型创建的数据库,把数据保存在不同的表中,表与表存在着某些关系。 特点: 1.安全 2.保持数据的一致性 3.实现对表与表进行复杂的数据查询 常见的关系型数据库: 1.db2 2.oracle 3.mysql 4、sql server 什么是非关系型数据库? 非关系型数据库也叫nosql数据库,全称not only sql。通常数据以对象的形式存储在数据库中,不固定结构,例如列模型,键值对模型。 特点: 1.效率高 2.容易扩展 3.使用更加灵活 常见的关系型数据库: 1.hbase(列模型) 2.redis(键值对模型) 3.mongodb(文档类模型) mysql介绍 Mysql是关系型数据库管理系统,我们常说的xxxx数据库就是指xxxx数据库管理系统。 Mysql数据库由瑞典Mysql DB公司开发,目前属于Oracle公司(甲骨文公司),在web应用方面,Mysql是最好的关系型数据库管理系统 Mysql特点 1.体积小,安装简单,维护成本低 2.开源,免费 3.使用C++编写 4.支持多系统(linux,mac os,windows) 5、与其他工具组合可以搭建一个免费的网站系统 LAMP:LINUX+APACHE+mysql+php LNMP:linux+nginx+mysql+php 6、支持多种编程语言提供的api,包括c,c++,python,java,php 7、支持多种存储引擎innodb;(5.7版本以后才有) 8、mysql使用标准的sql数据语言方式 应用架构: 单点 ,适合小规模应用 复制,适合中小规模应用 集群,适合大规模应用 数据库的术语: 数据库:是一些关联表的集合。 数据表:表是数据的矩阵 列: 行: 冗余:存储两倍以上的数据,增加数据的安全性,但是降低了性能 主键: 外键: 索引: 视图: 存储过程: 临时表 安装mysql: 1、windos安装 2、linux安装 rpm -qa|grep mysql 查看mysql yum remove 包名 yum remove mysql* 删除所有的包,注意:只能删除在线安装包 yum erase 包名 rpm -e --nodeps 包名 yum install mysql 安装客户端 yum install mysql-server 安装服务端 service mysqld status 查看mysql状态 service mysqld start 开启mysql服务 service mysqld stop 关闭mysql服务 service mysqld restart 重启mysql服务 service iptables stop 临时关闭防火墙 chkconfig iptables off 或chkconfig --level 2345 iptables off永久关闭防火墙 mysqladmin -u root password 123456 设置密码,在linux中设置 退出:quit ,exit ,\q ,ctrl+z ,ctrl+c 在数据库中操作设置: grant all privileges on *.*to root @‘%‘identified by ‘123456‘;设置权限 flush privileges;刷新权限 mysql -u root -p 进入数据库操作界面 输入密码 show databases; 查看数据库管理系统中所有的数据库 use 库名 ; 进入指定的数据库 create database 自定义库名;创建库名 create database if not exists 数据库名 (查看是否有重复的库名 ) drop database 库名 删除库名 drop database if exists 库名 删除语句,如果有则删除名,没有则不删除 注意点: 1、使用sql语句,末尾要加上;分号 2、databases 使用复数 Navicat工具介绍 Navicat是一款数据库管理工具。可以用于连接本地或者远程的Mysql,SQL Server,SQLLite,Oracle等数据库,进行数据库管理和日常操作。 我们使用的工具是Navicat For Mysql. 是一款用于关门管理mysql数据库的管理工具。不能操作其他的数据库管理系统。Navicat Premium可以连接多个不同类型的数据库。 连接注意项: 1、防火墙关闭 2、mysql服务器开启 3、权限设置成功,并且刷新 4、ip输入错误,有变更 5、密码不正确 看报错: 1045: 2003: 1064: 1130: 2002: ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var mysql 启动不了 表结构: ddl 结构操作语言,数据定义语言,操作数据库表格 #show tables;# 显示数据库所有的表 一个字节占多少长度与编码有关 utf-8 :一个汉字占3个字节 gbk:一个汉字占2个字节 int 字节4 整数 范围:-2^31() 到 2^31-1() bigint 字节8 存储超大整数: float 字节4 描述单精度浮点型数据 如:温度,金额 char 固定长度字符串 字节:特定长度(高达255字符) vachar 最大限制可变长度字符串字节 (高达65535 字符) date 日期 字节3 描述:yyyy-mm-dd格式 time 时间 字节3 描述:hh:mm:ss 格式 datetime 日期和时间 字节8 描述:yyyy-mm-dd hh:mm:ss year 年 字节1 描述:yyyy 约束: 定义实际上就是表中的限制条件 作用:表在设计的时候加入约束的目的是为了保证表中的记录完整和有效 约束的种类: 1、非空约束:(not null)非空 用于保证字段的值不能为空; 2、唯一约束:(unique) 保证字段值最具有唯一性(不能重复),并且为空 3、主键约束:(primary key)主键,用于保证字段值具有唯一性,并且非空 4、外键约束:(foreign key) 5、默认: default 6、自增长:auto_increment (1)与主键 约束一起使用 ,针对id (2)每插入一条数据,指定的字段值+1 添加约束的的时机: 1、建表 2、修改表 主键约束和唯一约束的区别: 主键 不允许为空,最多一个, 允许组合 唯一 允许为空 ,可以由多个, 允许组合 外键: 1、要求有主表和从表 2、建立外键是在从表设置外键, 3、主表和从表的字符类型要一致 4、主表的关联列是以key 5、插入 数据:先插入主表,在插入从表 6、删除数据,先删除从表,在删除主表 建表: desc 表名;查看表结构 select * from 表名 查看表中所有的数据 * 表示所有 创建表格式: create table 表名 (字段名1 字符类型1(字符宽度1) 约束 ,字段名2 字符类型2(字符宽度2)); #create table gz16 (id int(10)primary key,name VARCHAR(20)); default charset=utf8 删除表:格式:drop table 表名 #drop table gz16; 表添加字段:alter table 表名 add 字段名(字符类型(字符宽度)) 表修改字段: alter table 表名 change 旧字段名 新字段名(字符累类型(字符宽度)) 删除字段: alter table 表名 dorp 字段名 修改表名:alter table 表名 rename 新表名 方法一: insert into 表名 (字段1, 字段2 ,字段3) values (1,‘xiao‘ ,"nan","86" ) 方法二: insert into 表名 values (2,"wang ","nv","76"),(3,"wang ","nv","76"),(4,"wang ","nv","76") 什么是数据库? 是存放数据的电子仓库。以某种方式存储百万条,上亿条数据,供多个用户访问共享。 每个数据库都有一个或多个不同的api用于创建、访问,管理和复制所保存的数据。 数据库分关系型数据库和非关系型数据库 什么是关系型数据库? 依据关系模型创建的数据库,把数据保存在不同的表中,表与表存在着某些关系。 特点: 1.安全 2.保持数据的一致性 3.实现对表与表进行复杂的数据查询 常见的关系型数据库: 1.db2 2.oracle 3.mysql 4、sql server 什么是非关系型数据库? 非关系型数据库也叫nosql数据库,全称not only sql。通常数据以对象的形式存储在数据库中,不固定结构,例如列模型,键值对模型。 特点: 1.效率高 2.容易扩展 3.使用更加灵活 常见的关系型数据库: 1.hbase(列模型) 2.redis(键值对模型) 3.mongodb(文档类模型) mysql介绍 Mysql是关系型数据库管理系统,我们常说的xxxx数据库就是指xxxx数据库管理系统。 Mysql数据库由瑞典Mysql DB公司开发,目前属于Oracle公司(甲骨文公司),在web应用方面,Mysql是最好的关系型数据库管理系统 Mysql特点 1.体积小,安装简单,维护成本低 2.开源,免费 3.使用C++编写 4.支持多系统(linux,mac os,windows) 5、与其他工具组合可以搭建一个免费的网站系统 LAMP:LINUX+APACHE+mysql+php LNMP:linux+nginx+mysql+php 6、支持多种编程语言提供的api,包括c,c++,python,java,php 7、支持多种存储引擎innodb;(5.7版本以后才有) 8、mysql使用标准的sql数据语言方式 应用架构: 单点 ,适合小规模应用 复制,适合中小规模应用 集群,适合大规模应用 数据库的术语: 数据库:是一些关联表的集合。 数据表:表是数据的矩阵 列: 行: 冗余:存储两倍以上的数据,增加数据的安全性,但是降低了性能 主键: 外键: 索引: 视图: 存储过程: 临时表 安装mysql: 1、windos安装 2、linux安装 rpm -qa|grep mysql 查看mysql yum remove 包名 yum remove mysql* 删除所有的包,注意:只能删除在线安装包 yum erase 包名 rpm -e --nodeps 包名 yum install mysql 安装客户端 yum install mysql-server 安装服务端 service mysqld status 查看mysql状态 service mysqld start 开启mysql服务 service mysqld stop 关闭mysql服务 service mysqld restart 重启mysql服务 service iptables stop 临时关闭防火墙 chkconfig iptables off 或chkconfig --level 2345 iptables off永久关闭防火墙 mysqladmin -u root password 123456 设置密码,在linux中设置 退出:quit ,exit ,\q ,ctrl+z ,ctrl+c 在数据库中操作设置: grant all privileges on *.*to root @‘%‘identified by ‘123456‘;设置权限 flush privileges;刷新权限 mysql -u root -p 进入数据库操作界面 输入密码 show databases; 查看数据库管理系统中所有的数据库 use 库名 ; 进入指定的数据库 create database 自定义库名;创建库名 create database if not exists 数据库名 (查看是否有重复的库名 ) drop database 库名 删除库名 drop database if exists 库名 删除语句,如果有则删除名,没有则不删除 注意点: 1、使用sql语句,末尾要加上;分号 2、databases 使用复数 Navicat工具介绍 Navicat是一款数据库管理工具。可以用于连接本地或者远程的Mysql,SQL Server,SQLLite,Oracle等数据库,进行数据库管理和日常操作。 我们使用的工具是Navicat For Mysql. 是一款用于关门管理mysql数据库的管理工具。不能操作其他的数据库管理系统。Navicat Premium可以连接多个不同类型的数据库。 连接注意项: 1、防火墙关闭 2、mysql服务器开启 3、权限设置成功,并且刷新 4、ip输入错误,有变更 5、密码不正确 看报错: 1045: 2003: 1064: 1130: 2002: ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var mysql 启动不了 表结构: ddl 结构操作语言,数据定义语言,操作数据库表格 #show tables;# 显示数据库所有的表 一个字节占多少长度与编码有关 utf-8 :一个汉字占3个字节 gbk:一个汉字占2个字节 int 字节4 整数 范围:-2^31() 到 2^31-1() bigint 字节8 存储超大整数: float 字节4 描述单精度浮点型数据 如:温度,金额 char 固定长度字符串 字节:特定长度(高达255字符) vachar 最大限制可变长度字符串字节 (高达65535 字符) date 日期 字节3 描述:yyyy-mm-dd格式 time 时间 字节3 描述:hh:mm:ss 格式 datetime 日期和时间 字节8 描述:yyyy-mm-dd hh:mm:ss year 年 字节1 描述:yyyy 约束: 定义实际上就是表中的限制条件 作用:表在设计的时候加入约束的目的是为了保证表中的记录完整和有效 约束的种类: 1、非空约束:(not null)非空 用于保证字段的值不能为空; 2、唯一约束:(unique) 保证字段值最具有唯一性(不能重复),并且为空 3、主键约束:(primary key)主键,用于保证字段值具有唯一性,并且非空 4、外键约束:(foreign key) 5、默认: default 6、自增长:auto_increment (1)与主键 约束一起使用 ,针对id (2)每插入一条数据,指定的字段值+1 添加约束的的时机: 1、建表 2、修改表 主键约束和唯一约束的区别: 主键 不允许为空,最多一个, 允许组合 唯一 允许为空 ,可以由多个, 允许组合 外键: 1、要求有主表和从表 2、建立外键是在从表设置外键, 3、主表和从表的字符类型要一致 4、主表的关联列是以key 5、插入 数据:先插入主表,在插入从表 6、删除数据,先删除从表,在删除主表 建表: desc 表名;查看表结构 select * from 表名 查看表中所有的数据 * 表示所有 创建表格式: create table 表名 (字段名1 字符类型1(字符宽度1) 约束 ,字段名2 字符类型2(字符宽度2)); #create table gz16 (id int(10)primary key,name VARCHAR(20)); default charset=utf8 删除表:格式:drop table 表名 #drop table gz16; 表添加字段:alter table 表名 add 字段名(字符类型(字符宽度)) 表修改字段: alter table 表名 change 旧字段名 新字段名(字符累类型(字符宽度)) 删除字段: alter table 表名 dorp 字段名 修改表名:alter table 表名 rename 新表名 方法一: insert into 表名 (字段1, 字段2 ,字段3) values (1,‘xiao‘ ,"nan","86" ) 方法二: insert into 表名 values (2,"wang ","nv","76"),(3,"wang ","nv","76"),(4,"wang ","nv","76")
什么是数据库? 是存放数据的电子仓库。以某种方式存储百万条,上亿条数据,供多个用户访问共享。 每个数据库都有一个或多个不同的api用于创建、访问,管理和复制所保存的数据。 数据库分关系型数据库和非关系型数据库 什么是关系型数据库? 依据关系模型创建的数据库,把数据保存在不同的表中,表与表存在着某些关系。 特点: 1.安全 2.保持数据的一致性 3.实现对表与表进行复杂的数据查询 常见的关系型数据库: 1.db2 2.oracle 3.mysql 4、sql server 什么是非关系型数据库? 非关系型数据库也叫nosql数据库,全称not only sql。通常数据以对象的形式存储在数据库中,不固定结构,例如列模型,键值对模型。 特点: 1.效率高 2.容易扩展 3.使用更加灵活 常见的关系型数据库: 1.hbase(列模型) 2.redis(键值对模型) 3.mongodb(文档类模型) mysql介绍 Mysql是关系型数据库管理系统,我们常说的xxxx数据库就是指xxxx数据库管理系统。 Mysql数据库由瑞典Mysql DB公司开发,目前属于Oracle公司(甲骨文公司),在web应用方面,Mysql是最好的关系型数据库管理系统 Mysql特点 1.体积小,安装简单,维护成本低 2.开源,免费 3.使用C++编写 4.支持多系统(linux,mac os,windows) 5、与其他工具组合可以搭建一个免费的网站系统 LAMP:LINUX+APACHE+mysql+php LNMP:linux+nginx+mysql+php 6、支持多种编程语言提供的api,包括c,c++,python,java,php 7、支持多种存储引擎innodb;(5.7版本以后才有) 8、mysql使用标准的sql数据语言方式 应用架构: 单点 ,适合小规模应用 复制,适合中小规模应用 集群,适合大规模应用 数据库的术语: 数据库:是一些关联表的集合。 数据表:表是数据的矩阵 列: 行: 冗余:存储两倍以上的数据,增加数据的安全性,但是降低了性能 主键: 外键: 索引: 视图: 存储过程: 临时表 安装mysql: 1、windos安装 2、linux安装 rpm -qa|grep mysql 查看mysql yum remove 包名 yum remove mysql* 删除所有的包,注意:只能删除在线安装包 yum erase 包名 rpm -e --nodeps 包名 yum install mysql 安装客户端 yum install mysql-server 安装服务端 service mysqld status 查看mysql状态 service mysqld start 开启mysql服务 service mysqld stop 关闭mysql服务 service mysqld restart 重启mysql服务 service iptables stop 临时关闭防火墙 chkconfig iptables off 或chkconfig --level 2345 iptables off永久关闭防火墙 mysqladmin -u root password 123456 设置密码,在linux中设置 退出:quit ,exit ,\q ,ctrl+z ,ctrl+c 在数据库中操作设置: grant all privileges on *.*to root @‘%‘identified by ‘123456‘;设置权限 flush privileges;刷新权限 mysql -u root -p 进入数据库操作界面 输入密码 show databases; 查看数据库管理系统中所有的数据库 use 库名 ; 进入指定的数据库 create database 自定义库名;创建库名 create database if not exists 数据库名 (查看是否有重复的库名 ) drop database 库名 删除库名 drop database if exists 库名 删除语句,如果有则删除名,没有则不删除 注意点: 1、使用sql语句,末尾要加上;分号 2、databases 使用复数 Navicat工具介绍 Navicat是一款数据库管理工具。可以用于连接本地或者远程的Mysql,SQL Server,SQLLite,Oracle等数据库,进行数据库管理和日常操作。 我们使用的工具是Navicat For Mysql. 是一款用于关门管理mysql数据库的管理工具。不能操作其他的数据库管理系统。Navicat Premium可以连接多个不同类型的数据库。 连接注意项: 1、防火墙关闭 2、mysql服务器开启 3、权限设置成功,并且刷新 4、ip输入错误,有变更 5、密码不正确 看报错: 1045: 2003: 1064: 1130: 2002: ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var mysql 启动不了 表结构: ddl 结构操作语言,数据定义语言,操作数据库表格 #show tables;# 显示数据库所有的表 一个字节占多少长度与编码有关 utf-8 :一个汉字占3个字节 gbk:一个汉字占2个字节 int 字节4 整数 范围:-2^31() 到 2^31-1() bigint 字节8 存储超大整数: float 字节4 描述单精度浮点型数据 如:温度,金额 char 固定长度字符串 字节:特定长度(高达255字符) vachar 最大限制可变长度字符串字节 (高达65535 字符) date 日期 字节3 描述:yyyy-mm-dd格式 time 时间 字节3 描述:hh:mm:ss 格式 datetime 日期和时间 字节8 描述:yyyy-mm-dd hh:mm:ss year 年 字节1 描述:yyyy 约束: 定义实际上就是表中的限制条件 作用:表在设计的时候加入约束的目的是为了保证表中的记录完整和有效 约束的种类: 1、非空约束:(not null)非空 用于保证字段的值不能为空; 2、唯一约束:(unique) 保证字段值最具有唯一性(不能重复),并且为空 3、主键约束:(primary key)主键,用于保证字段值具有唯一性,并且非空 4、外键约束:(foreign key) 5、默认: default 6、自增长:auto_increment (1)与主键 约束一起使用 ,针对id (2)每插入一条数据,指定的字段值+1 添加约束的的时机: 1、建表 2、修改表 主键约束和唯一约束的区别: 主键 不允许为空,最多一个, 允许组合 唯一 允许为空 ,可以由多个, 允许组合 外键: 1、要求有主表和从表 2、建立外键是在从表设置外键, 3、主表和从表的字符类型要一致 4、主表的关联列是以key 5、插入 数据:先插入主表,在插入从表 6、删除数据,先删除从表,在删除主表 建表: desc 表名;查看表结构 select * from 表名 查看表中所有的数据 * 表示所有 创建表格式: create table 表名 (字段名1 字符类型1(字符宽度1) 约束 ,字段名2 字符类型2(字符宽度2)); #create table gz16 (id int(10)primary key,name VARCHAR(20)); default charset=utf8 删除表:格式:drop table 表名 #drop table gz16; 表添加字段:alter table 表名 add 字段名(字符类型(字符宽度)) 表修改字段: alter table 表名 change 旧字段名 新字段名(字符累类型(字符宽度)) 删除字段: alter table 表名 dorp 字段名 修改表名:alter table 表名 rename 新表名 方法一: insert into 表名 (字段1, 字段2 ,字段3) values (1,‘xiao‘ ,"nan","86" ) 方法二: insert into 表名 values (2,"wang ","nv","76"),(3,"wang ","nv","76"),(4,"wang ","nv","76") 什么是数据库? 是存放数据的电子仓库。以某种方式存储百万条,上亿条数据,供多个用户访问共享。 每个数据库都有一个或多个不同的api用于创建、访问,管理和复制所保存的数据。 数据库分关系型数据库和非关系型数据库 什么是关系型数据库? 依据关系模型创建的数据库,把数据保存在不同的表中,表与表存在着某些关系。 特点: 1.安全 2.保持数据的一致性 3.实现对表与表进行复杂的数据查询 常见的关系型数据库: 1.db2 2.oracle 3.mysql 4、sql server 什么是非关系型数据库? 非关系型数据库也叫nosql数据库,全称not only sql。通常数据以对象的形式存储在数据库中,不固定结构,例如列模型,键值对模型。 特点: 1.效率高 2.容易扩展 3.使用更加灵活 常见的关系型数据库: 1.hbase(列模型) 2.redis(键值对模型) 3.mongodb(文档类模型) mysql介绍 Mysql是关系型数据库管理系统,我们常说的xxxx数据库就是指xxxx数据库管理系统。 Mysql数据库由瑞典Mysql DB公司开发,目前属于Oracle公司(甲骨文公司),在web应用方面,Mysql是最好的关系型数据库管理系统 Mysql特点 1.体积小,安装简单,维护成本低 2.开源,免费 3.使用C++编写 4.支持多系统(linux,mac os,windows) 5、与其他工具组合可以搭建一个免费的网站系统 LAMP:LINUX+APACHE+mysql+php LNMP:linux+nginx+mysql+php 6、支持多种编程语言提供的api,包括c,c++,python,java,php 7、支持多种存储引擎innodb;(5.7版本以后才有) 8、mysql使用标准的sql数据语言方式 应用架构: 单点 ,适合小规模应用 复制,适合中小规模应用 集群,适合大规模应用 数据库的术语: 数据库:是一些关联表的集合。 数据表:表是数据的矩阵 列: 行: 冗余:存储两倍以上的数据,增加数据的安全性,但是降低了性能 主键: 外键: 索引: 视图: 存储过程: 临时表 安装mysql: 1、windos安装 2、linux安装 rpm -qa|grep mysql 查看mysql yum remove 包名 yum remove mysql* 删除所有的包,注意:只能删除在线安装包 yum erase 包名 rpm -e --nodeps 包名 yum install mysql 安装客户端 yum install mysql-server 安装服务端 service mysqld status 查看mysql状态 service mysqld start 开启mysql服务 service mysqld stop 关闭mysql服务 service mysqld restart 重启mysql服务 service iptables stop 临时关闭防火墙 chkconfig iptables off 或chkconfig --level 2345 iptables off永久关闭防火墙 mysqladmin -u root password 123456 设置密码,在linux中设置 退出:quit ,exit ,\q ,ctrl+z ,ctrl+c 在数据库中操作设置: grant all privileges on *.*to root @‘%‘identified by ‘123456‘;设置权限 flush privileges;刷新权限 mysql -u root -p 进入数据库操作界面 输入密码 show databases; 查看数据库管理系统中所有的数据库 use 库名 ; 进入指定的数据库 create database 自定义库名;创建库名 create database if not exists 数据库名 (查看是否有重复的库名 ) drop database 库名 删除库名 drop database if exists 库名 删除语句,如果有则删除名,没有则不删除 注意点: 1、使用sql语句,末尾要加上;分号 2、databases 使用复数 Navicat工具介绍 Navicat是一款数据库管理工具。可以用于连接本地或者远程的Mysql,SQL Server,SQLLite,Oracle等数据库,进行数据库管理和日常操作。 我们使用的工具是Navicat For Mysql. 是一款用于关门管理mysql数据库的管理工具。不能操作其他的数据库管理系统。Navicat Premium可以连接多个不同类型的数据库。 连接注意项: 1、防火墙关闭 2、mysql服务器开启 3、权限设置成功,并且刷新 4、ip输入错误,有变更 5、密码不正确 看报错: 1045: 2003: 1064: 1130: 2002: ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var mysql 启动不了 表结构: ddl 结构操作语言,数据定义语言,操作数据库表格 #show tables;# 显示数据库所有的表 一个字节占多少长度与编码有关 utf-8 :一个汉字占3个字节 gbk:一个汉字占2个字节 int 字节4 整数 范围:-2^31() 到 2^31-1() bigint 字节8 存储超大整数: float 字节4 描述单精度浮点型数据 如:温度,金额 char 固定长度字符串 字节:特定长度(高达255字符) vachar 最大限制可变长度字符串字节 (高达65535 字符) date 日期 字节3 描述:yyyy-mm-dd格式 time 时间 字节3 描述:hh:mm:ss 格式 datetime 日期和时间 字节8 描述:yyyy-mm-dd hh:mm:ss year 年 字节1 描述:yyyy 约束: 定义实际上就是表中的限制条件 作用:表在设计的时候加入约束的目的是为了保证表中的记录完整和有效 约束的种类: 1、非空约束:(not null)非空 用于保证字段的值不能为空; 2、唯一约束:(unique) 保证字段值最具有唯一性(不能重复),并且为空 3、主键约束:(primary key)主键,用于保证字段值具有唯一性,并且非空 4、外键约束:(foreign key) 5、默认: default 6、自增长:auto_increment (1)与主键 约束一起使用 ,针对id (2)每插入一条数据,指定的字段值+1 添加约束的的时机: 1、建表 2、修改表 主键约束和唯一约束的区别: 主键 不允许为空,最多一个, 允许组合 唯一 允许为空 ,可以由多个, 允许组合 外键: 1、要求有主表和从表 2、建立外键是在从表设置外键, 3、主表和从表的字符类型要一致 4、主表的关联列是以key 5、插入 数据:先插入主表,在插入从表 6、删除数据,先删除从表,在删除主表 建表: desc 表名;查看表结构 select * from 表名 查看表中所有的数据 * 表示所有 创建表格式: create table 表名 (字段名1 字符类型1(字符宽度1) 约束 ,字段名2 字符类型2(字符宽度2)); #create table gz16 (id int(10)primary key,name VARCHAR(20)); default charset=utf8 删除表:格式:drop table 表名 #drop table gz16; 表添加字段:alter table 表名 add 字段名(字符类型(字符宽度)) 表修改字段: alter table 表名 change 旧字段名 新字段名(字符累类型(字符宽度)) 删除字段: alter table 表名 dorp 字段名 修改表名:alter table 表名 rename 新表名 方法一: insert into 表名 (字段1, 字段2 ,字段3) values (1,‘xiao‘ ,"nan","86" ) 方法二: insert into 表名 values (2,"wang ","nv","76"),(3,"wang ","nv","76"),(4,"wang ","nv","76")