一、数据库短语:
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
my.ini
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 frommysql.user;#删除用户:
mysql> delete from mysql.user where user='stu';#查看当前用户:
mysql > select user();
View Code
四、数据库的常用操作(增删改查)
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;
删:deletefrom t1 where id=1;
清空表:
deletefrom t1; #如果有自增id,新增的数据,仍然是以删除前的最后一样作为起始。
truncate table t1;数据量大,删除速度比上一条快,且直接从零开始,*auto_increment 表示:自增*primary key 表示:约束(不能重复且不能为空);加速查找
View Code