一,概述
1,什么是数据库?
存储数据的仓库
2,什么是MySQL?
是用于管理文件的一个软件
-服务端软件
socket服务端
本地文件ed操作
解析指令【SQL语句】
-客户端软件(很多种类的)
socket客户端
发送指令
解析指令【SQL语句】
其他类似软件:
关系型数据库:sqllite,db2,oracle,access,SQL,sever MySQL,MySQL
非关系型数据库:mongoDB,redis
二,MySQL下载安装
Windows:
1,下载地址:
http://dev.mysql.com/downloads/mysql/
2,下载文件:
MySQL Community Server 5.7.18
3,解压到你想安装MySQL的目录下,
如:E:mysqlmysql-5.7.18-winx64
4,初始化:MYSQL解压后的bin目录下有一堆的可执行文件。切换到bin目录下执行:
cd E:mysqlmysql-5.7.18-winx64in
mysqld --initialize-insecure
5,启动MySQL服务
执行命令从而启动MySQL服务
cd E:mysqlmysql-5.7.18-winx64in
6,客户端连接:
E:wupeiqimysql-5.7.16-winx64mysql-5.7.16-winx64inmysqldmysql -u root -p
7.环境变量的配置:
E:wupeiqimysql-5.7.16-winx64mysql-5.7.16-winx64in
8,注册成服务之后,以后再启动和关闭MySQL服务时,仅需要执行如下命令:
#启动MySQL服务
net start mysql
#关闭MySQL服务
net stop mysql
三,数据库操作
-数据库【文件夹】
-表【文件】
-行【数据行】
他们三者是层级的关系表(文件)在数据库(文件夹)下面,
行(数据行)在表(文件)下面
1,查看数据库
show databases;
2,使用数据库:
use 数据库的名称;
3,创建数据库:
create database db2(数据库名称) default charset utf8;
4,创建用户:
create user 'alex'@'192.168.1.%' identified by '123123';
5授权管理
grant all privileges on db1.t1 to 'alex'@'%';
取消授权:
revoke all privileges on db1.t1 from 'alex'@'%';
四,数据表的操作
1,查看表:
show tables;
2,创建表:
create table t1(id int signed not null auto_increment primary key,
num decimal(10,5),
name char(10)
)engine=innodb default charset=utf8;
3删除表:
drop table 表名
4清空表:
delete from 表名 #清空当前的内容,id不会清空
truncate table 表名 #完全清空文件的内容
五,表内容操作
1,插入数据:
insert into t1(id,name) values(1,'alex');
2,删除行
delete from t1 where id<6;
3,修改行
update t1 set age=18 where age=17;
4,查看数据
select * from t1;
六,主键和外键
主键:一个自增列,必须要有主键。
,一种特殊的唯一索引,不允许有空值,如果主键使用单个列,则它的值必须唯一,如果是多列,则其组合必须唯一。
auto_increment primary key,
外键:一个特殊的索引,只能是指定内容
creat table color(
nid int not null primary key,
name char (16) not null )
create table fruit(
nid int not null primary key,
smt char(32) null ,
color_id int not null,
constraint fk_cc foreign key (color_id) references color(nid) )