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,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;
相關文章
相關標籤/搜索