学习
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,redis1.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 mysqld2.关于连接 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 tablename3.学习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;
来源:https://www.cnblogs.com/wan2-0/p/10933771.html