MySQL(一)知識點總結

1.MySQL的簡介和安裝

2.MySQL的客戶端管理工具

shell命令行、MySQL Workbench、Navicat for MySQL

3.MySQL數據庫和表

shell終端中數據庫的創建使用及刪除

MySQL Workbench中創建和修改表

create table tablename(,,);
alter table user rename to tbl_user;
rename table tbl_user to user;
alter table user add email varchar(20);
alter table user drop email;
drop table  user;

獲取數據和表的信息及數據庫物理文件簡介

命令:

show databases;
use jsp_db;
show tables;
show tables from jsp_db;
describe user;

4.MySQL數據類型

數值類型

-- 數值類型、字符類型、日期和時間類型
-- 數值類型:整數類型、浮點數類型
-- 整數類型:TINYINT(佔1位字節)、SMALLINT(佔2位字節)、MEDIUMINT(佔3位字節)、INT(佔4位字節)、BIGINT(佔8位字節)
-- 浮點數類型:FLOAT(單精度:佔4位字符)、DOUBLE(雙精度:佔8位字符)、DECIMAL(十進制)
-- bool  對應 TINYINT(0:false,1:true)
use jsp_db;
-- 整數類型
create table tb_data (tint tinyint,sint smallint,mint mediumint,normalint int,bint bigint);
insert into tb_data values(123456789,123456789,123456789,123456789,123456789,123,123,123.545);

select * from tb_data;

alter table tb_data add intsex int(6);
alter table tb_data add intsex2 int(6) zerofill;

alter table tb_data add float52 float(5,2);

字符類型

-- CHAR、VARCHAR、TEXT、BLOB
-- varbinary(存儲二進制可變長度的字符串),text(非二進制:不區分大小寫),BLOB(二進制:區分大小寫)
-- ENUM(枚舉類型),SET(多選)


CREATE TABLE tb_string(charstring CHAR(10));
insert into tb_string VALUES('HELLO','M','A,C,D');
ALTER TABLE tb_string CHANGE charstring charstring CHAR(10) BINARY;
ALTER TABLE tb_string ADD gender ENUM('M','N');
ALTER TABLE tb_string ADD setcol set('A','B','C','D');

select * from tb_string where charstring='hello';

日期和時間類型


-- DATE,TIME,YEAR,DATETIME,TIMESTAMP
-- DATE(佔3個字節,格式:YYYY-MM-DD 1000-01-01,1999-12-31),YEAR:(HH:MM:SS),YEAR(YYYY,從1901-2155),
-- DATETIME(DATE+TIME),TIMESTAMP(1970-01-01+TIME到2037-)


CREATE TABLE tb_date(BIRTHDAY DATE);
INSERT INTO tb_date VALUES ('2015-01-01',20170101,20170101);
SELECT * FROM tb_date;
ALTER TABLE tb_date ADD DATETIMECOL DATETIME;
ALTER TABLE tb_date ADD DATETIMECOL2 DATETIME(3);
ALTER TABLE tb_date ADD timecol TIMESTAMP;

ALTER TABLE tb_date ADD timecol2 TIMESTAMP;

5.MySQL數據庫實戰

Navicat工具介紹及使用

SQL語句的基本使用

# 查詢語句
# SELECT 列名1,列名2 FROM 表名 WHERE 查詢條件;
# SELECT * FROM 表名 WHERE 查詢條件;

# 新增語句
# INSERT INTO 表名(列名1,列名2) VALUES(列1值,列2值);

# 修改語句
# UPDATE 表名 SET 列名1=列1值,列名2=列2值 WHERE 判斷條件;

# 刪除語句

# DELETE FROM 表名 WHERE 條件;

外鍵的意義及使用

連表的使用及部分SQL函數的使用

內連接,左外關聯,右外關聯,全連接

# 內連接
select * from tb_user u,tb_class c where u.classid=c.id;
select * from tb_user u inner join tb_class c where u.classid=c.id;

# 左連接
select * from tb_user u left join tb_class c on u.classid=c.id;

# 右連接
select * from tb_user u right join tb_class c on u.classid=c.id;

#全連接,不支持全連接,用union
select * from tb_user u left join tb_class c on u.classid=c.id
union

select * from tb_user u right join tb_class c on u.classid=c.id;

模糊查詢 like '%a%'

分組 group by

排序呢 order by colomn asc/desc

前幾條數據 limit,mysql語句中沒有top關鍵字

函數 max,min,sum,avg,count











發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章