数据库基础(一)

什么是数据(Data)

描述事物的符号记录称为数据,描述事物的符号既可以是数字,也可以是文字、图片,图像、声音、语言等,数据由多种表现形式,它们都可以经过数字化后存入计算机

什么是数据库(DataBase,简称DB)

用来存储数据的仓库

数据库可以在硬盘及内存中存储数据

数据库与文件存储数据区别
数据库本质也是通过文件来存储数据, 数据库的概念就是系统的管理存储数据的文件

什么是数据库管理系统(DataBase Management System 简称DBMS)

一个系统软件---数据库管理系统

如MySQL、Oracle、SQLite、Access、MS SQL Server

mysql主要用于大型门户,例如搜狗、新浪等,它主要的优势就是开放源代码,因为开放源代码这个数据库是免费的,他现在是甲骨文公司的产品。
oracle主要用于银行、铁路、飞机场等。该数据库功能强大,软件费用高。也是甲骨文公司的产品。
sql server是微软公司的产品,主要应用于大中型企业,如联想、方正等。

数据库服务器端: 存放数据库的主机集群
数据库客户端: 可以连接数据库的任意客户端
数据库管理员: DBA

数据库组成(重点)

数据库服务器:一台计算机(对内存要求比较高)
数据库管理系统:如mysql(是一个软件)
库: 多表构建一个数据库, 本质就是文件夹
表: 多条数据构建一张表, 本质就是文件
记录: 存放一条条数据, (多个字段的信息组成一条记录,即文件中的一行内容)本质就是文件中一条条数据记录

(字段)id, name, age, gender...
总结:

数据库服务器-:运行数据库管理软件

数据库管理软件:管理-数据库

数据库:即文件夹,用来组织文件/表

表:即文件,用来存放多行内容/多条记录

MySQL介绍

MySQL是一个关系型数据库管理系统(基于socket编写的C/S架构的软件)

数据库分类

分两大类:

  关系型:如sqllite,db2,oracle,access,sql server,MySQL,注意:sql语句通用
  非关系型:mongodb,redis,memcache

关系型数据库

1.有表的概念
2.以表中一条条记录存储数据
mysql oracle sqlServer access db2

非关系型数据库

1.没有表的概念
2.通过key-value键值对方式存储数据
mongodb redis memcache

卸载

"""
前提)启动终端,输入 mysql,如果不是提示 不是内部或外部命令,代表已安装数据库

1)直接连入
    i 搜索:服务,检索mysql服务,有
        停止服务,并移除服务 - 启动管理员终端:mysqld --remove
            
    ii 搜索:服务,检索mysql服务,无 (mysql使用命令启动)
        停止服务,启动管理员终端
            tasklist | findstr mysql
            taskkill /pid 进程pid /f
    
2)连接超时
    搜索:服务,检索mysql服务,移除服务即可
    
3)移除环境变量

总结:如果能连入,先停止服务 | 如果添加了服务,就移除服务 | 取消环境变量配置
"""

安装

"""
1、解压免安装版本(5.6 - 没有初始密码)
2、配置环境变量:数据库绝对路径下的bin
3、配置服务:
    启动管理员终端:mysqld --install [nmysql]
"""

连接数据库

1)游客登陆(不一定能登入,登入了也啥都不能干)
>: mysql

2)账号密码登录
>: mysql -u root -p
再输入密码,没有任何提示,没有密码直接回车

3)连接指定服务器的mysql
>: mysql -h ip地址 -P 端口号 -u 账号 -p
回车后敲入密码
eg:
>: mysql -hlocalhost -P3306 -uroot -p

4)退出数据库
>: quit
>: exit

用户信息查看

1)查看当前登录的用户
mysql>: select user();

2)root权限下可以查看所有用户信息
mysql>: select * from mysql.user;
mysql>: select * from mysql.user \G
mysql>: select user,password,host from mysql.user;

3)root登录下,删除游客(操作后要重启mysql服务)
mysql>: delete from mysql.user where user='';

4)root登录下,修改密码(操作后要重启mysql服务)
mysql>: update mysql.user set password=password('12345678') where host='localhost';

5)没有登录
>: mysqladmin -u用户名 -p旧密码 -h域名 password "新密码"
eg>: mysqladmin -uroot -p12345678 -hlocalhost password "root"

6)root登录下,创建用户
mysql>:grant 权限们 on 数据库名.表名 to 用户名@主机名 identified by '密码';

数据库的基本操作

1)查看已有数据库
mysql>:show databases;

2)选择某个数据库
mysql>:use 数据库名

3)查看当前所在数据库
mysql>:select database();

4)创建数据库
mysql>:create database 数据库名 [charset=编码格式];
eg>: create database owen;
eg>: create database zero charset=utf8;
eg>: create database tank;

5)查看创建数据库的详细内容
mysql>:show create database 数据库名;
eg>: show create database owen;

6)删除数据库
mysql>: drop database 数据库名;
eg>: drop database tank;

7)改,修改数据库编码集
mysql>: alter database db1 charset="utf8";

表的基本操作

前提:先选取要操作的数据库

1)查看已有表
mysql>:show tables;

2)创建表
mysql>:create table 表名(字段们);
eg>: create table student(name varchar(16), age int);
eg>: create table teacher(name varchar(16), age int);

3)查看创建表的sql
mysql>:show create table 表名;
eg>: show create table student;


4)查看创建表的结构
mysql>:desc 表名;

5)删除表
mysql>: drop table 表名;
eg>: drop table teacher;

6)改
修改字段属性: alter table t1 modify name char(20);
修改字段名: alter table t1 change name usr char(16);
修改表名: alter table t1 rename t2;

记录的基本操作

1)查看某个数据库中的某个表的所有记录,如果在对应数据库中,可以直接查找表
mysql>: select * from [数据库名.]表名;
注:*代表查询所有字段

2)给表的所有字段插入数据
mysql>: insert [into] [数据库名.]表名 values (值1,...,值n);
eg:如果给有name和age两个字段的student表插入数据
1条>:insert into student values ('Bob', 18);
多条>:insert into student values ('张三', 18), ('李四', 20);
指定库>:insert owen.student values ('张三', 18), ('李四', 20);

3)根据条件修改指定内容
mysql>: update [数据库名.]表名 set 字段1=新值1, 字段n=新值n where 字段=旧值;
eg:> update student set name='王五', age='100' where name='张三';
注:i) 可以只修改部分字段 ii) 没有条件下,所有记录都会被更新
eg:> update student set name='呵呵';

4)根据条件删除记录
mysql>: delete from [数据库名.]表名 where 条件;
eg:> delete from student where age<30;

猜你喜欢

转载自www.cnblogs.com/asyouwish/p/11569995.html