簡介:
1、MysQl是一種開源關系型數據庫管理系統
2、是有MysQl AB公司開發,目前Oracle旗下產品
3、MySQL分為社區版和商業版
特點:
1、體積小
2、速度快
3、成本低
4、免費開源
5、多語言支持
6、可移植性好
7、高效(支持多線程,充分利用cpu資源,運行速度非常快)
8、支持大量數據查詢和存儲
9、操作簡單易學習
密碼: admin
show databases;? 是查看你所有數據庫的列表
use mysql;? ? ? ? 查看mysql
use? 選中指定數據庫
****表的概念
表頭(header):每一列的名字
列(row):具有相同數據類型的集合
行(col):每一行用來描述某個人、事物具體信息
鍵(key):用來識別某個特定的人,或者是物的方法,鍵的值在當前列中具有唯一性
值(value):行的具體信息,每個值必須與該列的數據類型相同
****數據類型
1、日期和時間數據類型
date(日期)? 格式:2017-08-08;
time(時間)? 格式:10:28:30
datatime? 日期時間? 2017-08-08 10:28:30
timestamp? 自動儲存記錄修改時間
year 年份
2、數值數據類型
2-1:整型
tinyint
smalint
mediumint
int
bigint
2-2浮點型
float(m,d)? 單精度浮點型? ? m總個數,d小數位
double(m,d) 雙精度浮點型? ? m總個數,d小數位
decimal(m,d) 儲存為字符串的浮點數
3、字符串數據類型
1.char(N)? 固定長度? 最多255個字符
varchar(n) 可變長度? 最多65535個字符
####了解
tinytext? 可變長度? 最多255個
text? ? ? 可變長度? 最多65535個
mediumtext 可變長度? 最多是2的24次方-1個字符
longtext? 可變長度? 最多2的32次方-1個字符
難點:
1.char(n)和varchar(n)括號中的n代表字符的個數,并不是字節的個數
所以我們使用中文的時候(utf-8)就意味著可以插入n個中文,
但是實際占用n*3個字節
2.char和varchar最大區別? char不管實際value都會只有n個字符
varchar只會占用實際字符,占用的空間+1,并且實際空間+1必須 <=n
3.實際值的長度大于了n,超出的截取沒有超出部分
4.char在儲存的時候會截取尾部的空格,varchar就不會
*****
create database? 數據庫名
創建數據庫
刪除數據庫? drop? database 數據庫名
use +庫名? ? ==> 使用數據庫
show tables 查看當前選中的數據庫里邊的所以數據表
創建表
create table +數據表名名字 如(abc)
查看數據表的表結構
show columns from 數據表名:
desc 數據表名
刪除數據表:
drop table 表名
*****數據? ? id name sex birth
添加數據? ? ==>? insert into 名字? values('小明','男','1995-09-21');
添加多條數據? ==>
insert into 名字? values('小明','男','1995-09-21'),('小紅','男','1995-09-21'),('小綠','男','1995-09-21');
查詢所有數據:
select * from 表名:
查詢單個:
select * from 表名 where id=:
查詢單個字段:
select id from 表名 :查詢條件(可選)
修改數據 :? update 表名 set 字段=(id或者name)新的值? where id=2;
刪除數據:
delete from 表名 where 條件;
條件: id=2? ==>指定刪除 id=2的數據;
id? ==》 刪除包含id的所有數據
添加表結構(在最后面添加)
alter table 表名 add 列名(字段) 約束 (數據類型之類);
alter table abc add age varchar(3);
添加表結構(在最后前面添加)
alter table 表名 add 列名(字段) 約束 (數據類型之類) first;
alter table abc add age varchar(3) first;
添加表結構(在指定位置添加)
alter table 表名 add 列名(字段) 約束 (數據類型之類) after 指定類名;
alter table abc add age varchar(3) after id;
刪除表結構:
alter table 表名 drop 列名
alter table abc drop name;
修改列的類型
alter table 表名 modify 列名 新類型 新參數;
alter table abc modify name varchar(3);
修改列名和列類型
alter table 表名 change 舊的類名? 新的類名 新的類型? 新的參數
alter table abc change bith bithday varchar(10);
修改表民:
rename table 原表名 to 新表名;
alter table 原表名 rename 新表名;
統計數據條數 ==》count()
select count(*) from 表名;
查詢id 在某個區間: 如 查詢id2-3的內容
select * from 表名 where id>=2 and id<4
查詢 第2條后的3條數據:
select * from 表名 limit 2,3; 2開始位置 (不包含),3:截取數量