MySQL基礎知識回顧
MySQL
MySQL:是用於管理文件的一個軟件 - 服務端軟件 - socket服務端 - 本地文件操作 - 解析指令【SQL語句】 - 客戶端軟件(各種各樣) - socket客戶端 - 發送指令 - 解析指令【SQL語句】 PS: - DBMS:數據庫管理系統 - SQL語句 需要掌握的技能: - 安裝 服務端和客戶端 - 連接 - 學習SQL語句規則;指示服務端做任意操作 其他類似軟件: 關系型數據庫:sqllite,db2,oracle,access,sql server MySQL 非關系型數據庫:MongoDB,redis
MySQL安裝
Windows: 可執行文件安裝: while True: 下一步 壓縮包 放置任意目錄 初始化 服務端:E:\somewhere\mysql-5.7.16-winx64\bin\mysqld --initialize-insecure # 默認用戶名 root 密碼:空 啟動服務端: E:\somewhere\mysql-5.7.16-winx64\mysql-5.7.16-winx64\bin\mysqld\mysqld 客戶端連接: E:\somewhere\mysql-5.7.16-winx64\mysql-5.7.16-winx64\bin\mysqld\mysql -u root -p 發送指令: show databases;#查看數據庫 create database db1;創建數據庫 環境變量的配置: E:\somewhere\mysql-5.7.16-winx64\mysql-5.7.16-winx64\bin mysqld 添加到系統環境變量PATH windows服務:(制作成為Windows服務,可開機自動運行) E:\somewhere\mysql-5.7.16-winx64\mysql-5.7.16-winx64\bin\mysqld --install net start MySQL E:\somewhere\mysql-5.7.16-winx64\mysql-5.7.16-winx64\bin\mysqld --remove net start MySQL net stop MySQL
關於連接數據庫
連接: 默認:用戶root show databases; use 數據庫名稱; #使用數據庫 show tables; #查看數據表 select * from 表名; #查詢 select name,age,id from 表名; mysql數據庫user表 #系統自帶(存放mysql用戶賬號信息) use mysql; select user,host from user; 創建用戶: create user [email protected]
學習SQL語句規則
操作文件夾 create database db2; create database db2 default charset utf8; ***** show databases; drop database db2; 操作文件 show tables; create table t1(id int,name char(10)) default charset=utf8; create table t1(id int,name char(10))engine=innodb default charset=utf8; create table t3(id int auto_increment,name char(10))engine=innodb default charset=utf8; ***** create table t1( 列名 類型 null, 列名 類型 not null, 列名 類型 not null auto_increment primary key, id int, name char(10) )engine=innodb default charset=utf8; # innodb 支持事務,原子性操作(錯誤回滾) # myisam myisam auto_increment 表示:自增 primary key: 表示 約束(不能重復且不能為空); 加速查找 not null: 是否為空 數據類型: 數字:(註意區分有無符號,unsigned,signed) tinyint int bigint FLOAT 0.00000100000123000123001230123 DOUBLE 0.00000000000000000000100000123000123001230123 0.00000100000123000000000000000 decimal (精確小數表示,底層用字符串實現,推薦使用) 0.1 字符串: char(10) 速度快() varchar(10) 節省空間 PS: 創建數據表定長列往前放 text類型:最大字符65535 上傳文件: 文件存硬盤 db存路徑 時間類型 DATETIME enum set create table t1( id int signed not null auto_increment primary key, num decimal(10,5), name char(10) )engine=innodb default charset=utf8; 清空表: delete from t1; #自動列信息保留 truncate table t1; #自動列信息清除 刪除表: drop table t1; 操作文件中內容 插入數據: insert into t1(id,name) values(1,‘alex‘); 刪除: delete from t1 where id<6 修改: update t1 set age=18; update t1 set age=18 where age=17; 查看數據: select * from t1;
外鍵:
create table userinfo( uid bigint auto_increment primary key, name varchar(32), department_id int, constraint fk_user_depar foreign key (department_id) references department(id), )engine=innodb default charset=utf8; create table department( id bigint auto_increment primary key, title char(15) )engine=innodb default charset=utf8;
MySQL基礎知識回顧