数据库(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
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 from mysql.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;
   删:delete from t1 where id=1;

   清空表:
       delete from t1; #如果有自增id,新增的数据,仍然是以删除前的最后一样作为起始。
       truncate table t1;数据量大,删除速度比上一条快,且直接从零开始,

*auto_increment 表示:自增
*primary key 表示:约束(不能重复且不能为空);加速查找
View Code

 

posted @ 2019-04-22 14:26  Amorphous  阅读(214)  评论(0编辑  收藏  举报