数据库(Mysql初识)
一、数据库短语:
1.1 短语定义:
数据库管理系统 DBMS(DateBase Management System)
数据库 DB(DataBase)
数据库管理员 DBA(Database Administrator)
关系数据库管理系统 RDBMS(Relational Database Management System)
结构化查询语言 SQL(Structured Query Language)
1.2 参数定义:
数据库:db(即文件夹)
数据库管理系统:如mysql(是一个软件)
数据库服务器:一台计算机(对内存要求比较高)
记录:1 朱葛 13234567890 22(多个字段的信息组成一条记录,即文件中的一行内容)
表:即文件,用来存放多行内容/多条记录
1.3 数据库语言:
DDL语句 数据库定义语言: 数据库、表、视图、索引、存储过程,例如CREATE DROP ALTER
DML语句 数据库操纵语言: 插入数据INSERT、删除数据DELETE、更新数据UPDATE、查询数据SELECT
DCL语句 数据库控制语言: 例如控制用户的访问权限GRANT、REVOKE
1.4 数据管理软件分类:
关系型:如sqllite,db2,oracle,access,sql server,MySQL,注意:sql语句通用
非关系型:mongodb,redis,memcache
NOSQL非关系型数据库小结:
1、NOSQL不是否定关系数据库,而是作为关系数据库的一个重要补充
2、NOSQL为了高性能、高并发而生,忽略影响高性能,高并发的功能
3、NOSQL典型产品memcached (纯内存),redis(持久化缓存),mongodb(文档的数据库)
二、数据库的安装
2.1 配置文件:my.ini(放置路径:D:\mysql\mysql-5.6.43-winx64)
[mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 [mysqld] #设置3306端口 port = 3306 # 设置mysql的安装目录 basedir = D:\mysql\mysql-5.6.43-winx64 # 设置mysql数据库的数据的存放目录 datadir = D:\mysql\mysql-5.6.43-winx64\data # 允许最大连接数 max_connections=200 # 服务端使用的字符集默认为8比特编码的latin1字符集 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB
2.2 环境变量:
在系统变量PATH后面添加: 你的mysql bin文件夹的路径(如D:\mysql\mysql-5.6.43-winx64)
2.3 安装mysql:
以管理员身份打开cmd窗口后,将目录切换到你解压文件的bin目录,输入mysqld install回车运行
2.4 启动mysql:
以管理员身份在cmd中输入:net start mysql
服务启动成功之后,就可以登录了,输入mysql -u root -p(第一次登录没有密码,直接按回车过)
net stop mysql # 停止mysql #在windows操作系统上没有重启mysql服务的命令 #如果要重启服务,只能先stop再start
三、数据库的常用操作(创建用户与权限)
#进入mysql客户端 $mysql mysql> select user(); #查看当前用户 mysql> exit # 也可以用\q quit退出 # 默认用户登陆之后并没有实际操作的权限 # 需要使用管理员root用户登陆 $ mysql -uroot -p # mysql5.6默认是没有密码的 #遇到password直接按回车键 mysql> set password = password('root'); # 给当前数据库设置密码 set password = password('123'); # 给当前用户设置密码 # 创建账号 mysql> create user 'eva'@'192.168.10.%' identified by '123'; # 指示网段 mysql> create user 'eva'@'192.168.10.5' # 指示某机器可以连接 mysql> create user 'eva'@'%' # 指示所有机器都可以连接 mysql> show grants for 'eva'@'192.168.10.5'; # 查看某个用户的权限 # 远程登陆 $ mysql -uroot -p123 -h 192.168.10.3 $ mysql -ustu -h192.168.16.13 -p # 用户登录 # 给账号授权 mysql> grant all on *.* to 'eva'@'%'; mysql> flush privileges; # 刷新使授权立即生效 # 创建账号并授权 # grant 权利 on 数据库名.表名 to '用户名'@'ip地址' identified by '123'; # 权利 : SELECT INSERT UPDATE DELETE ALL grant all on s20_day1.* to 'stu'@'192.168.16.%' identified by '123'; mysql> grant all on *.* to 'eva'@'%' identified by '123'; # 查看所有用户: mysql> select user from mysql.user; # 删除用户: mysql> delete from mysql.user where user='stu'; # 查看当前用户: mysql > select user();
四、数据库的常用操作(增删改查)
1. 操作文件夹(库) 增:create database db1 charset utf8; # 默认utf-8: create database db1 查:show databases; 改:alter database db1 charset latin1; 删除: drop database db1; 2. 操作文件(表) 先切换到文件夹下:use db1 增:create table t1(id int,name char); 查:show tables; 改:alter table t1 modify name char(3); alter table t1 change name name1 char(2); 删:drop table t1; 3. 操作文件中的内容(记录) 增:insert into t1 values(1,'egon1'),(2,'egon2'),(3,'egon3'); 查:select * from t1; # desc t1 查看表结构 改:update t1 set name='sb' where id=2; 删:delete from t1 where id=1; 清空表: delete from t1; #如果有自增id,新增的数据,仍然是以删除前的最后一样作为起始。 truncate table t1;数据量大,删除速度比上一条快,且直接从零开始, *auto_increment 表示:自增 *primary key 表示:约束(不能重复且不能为空);加速查找