MySQL——1

为君一笑 提交于 2020-04-06 07:09:29

学习

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;
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!