MySQL——1

学习

0.Mysql 介绍
1.是用于管理文件的一个软件
1.服务端软件
-socket服务端
-本地文件操作
-解析指令
2.客户端软件
-socket客户端
-发送指令
-解析指令
PS:数据库管理系统DBMS
2.类似软件
sqllite,db2,oracle,access,sql,server,Mysql,MongDB,redis
分类:关系型数据库:sqllite,db2,oracle,access,sql,server,Mysql
非关系型数据库:MongDB,redis
1.Mysql 安装
windows:
1.下载安装包
2.防止任意目录
3.初始化:\bin\mysqld --initialize-insecure
4.启动服务端
5.客户端连接 \bin\mysqld -u root -p
6.发送指令:
1.show databases
2.create databases db1
7.环境变量的配置
...\bin
8.windows服务
...\bin\mysqld --install
...\bin\mysqld --remove
命令:net start mysqld
net stop mysqld
2.关于连接
1.文件夹-文件-数据行
数据库- 表 - 行
2.连接
1.默认用户:root
2.创建用户:create user 'username'@'IP' identified by 'password'
3.授权:grant authority on database.tablename to ‘username’@‘IP’
移除权限:revoke authority from database.tablename to ‘username’@‘IP’
显示权限:show grants for 'username’@‘IP’
3.命令:
1.show databases
2.use db1
3.show tables
4.select * from tablename
3.学习MySQL语句规则
1.操作数据库(文件夹)
1.create database db1 default charset utf8;
2.show databases;
3.drop database db1;
2.操作表(文件)
1.show tables
2.create table t1(id int null,name char(10))engine=innodb default charset=utf8
3.create table t2(
id int auto_increment primary key,
name char(10)
)engine=innodb default charset=utf8
-innodb 支持事务,原子性操作
-myisam 不支持,但处理速度较快
-auto_increment 自增
-primary key 约束(不能重复且不能为空);加速查找
-not null 不为空,null 可为空
-数据类型 int char
数字类型: int;tinyint;bigint(数据长度不同)
float;double;decimal(float,double 不精准的小数)(decimal 底层采用字符串存储小数,准确)
字符串类型:char(长度),varchar(长度) (char查找速度快;varchar节省空间)
优化技巧:创建数据表,定长列,放前面
text 更长的字符串
长传文件:存
时间类型:datetime
enum 枚举
set
4.清空表
delete table t2; key不清空
truncate table t2;
5.删除表
drop table t1;
3.操作数据(行)

insert into t2(id,name) values(1,'alex');

delete from t2 where id<6

updata t2 set name='shuangwai' where name='alex'

select * from t2;
4.外键
1.create table student(
sid int auto_increment primary key,
sname varchar(32),
gender char(8),
class_id int,
constraint fk_stu_class foreign key (`class_id`) references class (`cid`)
)engine=innodb default charset=utf8;
2.create table teacher(
tid int auto_increment primary key,
tname varchar(32)
)engine=innodb default charset=utf8;
3.create table course(
cid int auto_increment primary key,
cname varchar(32),
teach_id int,
constraint fk_cou_teac foreign key (`teach_id`) references teacher (`tid`)
)engine=innodb default charset=utf8;
4.create table score(
sid int auto_increment primary key,
student_id int,
course_id int,
number int,
constraint fk_score_stu foreign key (`student_id`) references student (`sid`),
constraint fk_score_cou foreign key (`course_id`) references course (`cid`)
)engine=innodb default charset=utf8;
posted @ 2019-05-27 22:14  王二被占用  阅读(540)  评论(0)    收藏  举报