資料庫是一種特殊的檔案,裡面包含庫和資料表,可以通過sql指令來操作。
rdbms(relational database management system)關係型資料庫管理系統,管理資料庫的軟體。常見的關係型資料庫有mysql、oracle、sqlserver等
啟動命令:sudo service mysql start(ub)
關閉命令:sudo service mysql stop
重啟命令:sudo service mysql restart
檢視狀態:sudo service mysql status :ps -aux | grep mysql
登入命令:mysql [-h主機位址] -u使用者名稱 -p密碼
退出命令:exit quit ctrl+d
整數:int,bit(1)
小數:decimal
字串:varchar,char
列舉型別(enum) enum(『男』,』女』,』中性』) default 『男』
decimal表示浮點數,如decimal(5,2)表示共存5位數,小數佔2位 123.00
char表示固定長度的字串,如char(3),如果填充'ab'時會補乙個空格為'ab '
varchar表示可變長度的字串,如varchar(3),填充'ab'時就會儲存'ab'
字串text表示儲存大文字,當字元大於4000時推薦使用 255
主鍵primary key:物理上儲存的順序
非空not null:此字段不允許填寫空值
惟一unique:此字段的值不允許重複 (列--欄位:如果能夠唯一標記某個字段,那麼這就是主鍵)(行:記錄)
預設default:當不填寫此值時會使用預設值,如果填寫時以填寫為準
外來鍵foreign key:對關係字段進行約束,當為關係字段填寫值時,會到關聯的表中查詢此值是否存在,如果存在則填寫成功,如果不存在則填寫失敗並丟擲異常
說明:雖然外來鍵約束可以保證資料的有效性,但是在進行資料的crud(增加、修改、刪除、查詢)時,都會降低資料庫的 性 能,所以不推薦使用,那麼資料的有效性怎麼保證呢?答:可以在邏輯層進行控制
型別
位元組大小
有符號範圍(signed)
無符號範圍(unsigned)
tinyint 1
-128 ~ 127
0 ~ 255
smallint 2
-32768 ~ 32767
0 ~ 65535
mediumint 3
-8388608 ~ 8388607
0 ~ 16777215
int/integer 4
-2147483648 ~2147483647
0 ~ 4294967295
bigint 8
-9223372036854775808 ~ 9223372036854775807
0 ~ 18446744073709551615
字串型別
位元組大小
示例
char
0-255
型別:char(3) 輸入 'ab', 實際儲存為'ab ', 輸入'abcd' 實際儲存為 'abc'
varchar
0-255
型別:varchar(3) 輸 'ab',實際儲存為'ab', 輸入'abcd',實際儲存為'abc'
text
0-65535
大文字
日期時間型別型別
位元組大小
示例
date 4
'2020-01-01'
time 3
'12:29:59'
datetime 8
'2020-01-01 12:29:59'
year 1
'2017'
timestamp 4
'1970-01-01 00:00:01' utc ~ '2038-01-01 00:00:01' utc
4.資料庫的檢視、使用、建立、刪除
檢視所有資料庫 show databases;
檢視當前所在資料庫 select database();
建立資料庫 create database `python_db` charset=utf8;
使用資料庫 use python_db;
刪除資料庫 drop database python_db;
show tables;
-- 建立classes表(id、name)
create table classes(
id int unsigned not null auto_increment primary key,
name varchar(30)
1. --修改表-新增字段
-- alter table 表名 add 列名 型別;
alter table students add birthday datetime [after 欄位名];
alter table students add birthday datetime [first];
2. --修改表-修改字段:不重新命名版
-- alter table 表名 modify 列名 型別及約束;
alter table students modify birthday date;
3. --修改表-修改字段:重新命名版
-- alter table 表名 change 原名 新名 型別及約束;
alter table students change birthday birth date default "2000-01-01";
4. --修改表-刪除字段
-- alter table 表名 drop 列名;
alter table students drop high;
5. --刪除表
-- drop table 資料表;
drop table ***xx;
rename table 舊表名 to 新錶名;
1.全部資料
insert into table_name values(全部列的值);
2.部分字段
insert into table_name (欄位1,欄位2) values (值1,值2);
3.插入多條
insert into table_name values (全部列的值),(全部列的值),(全部列的值);
insert into table_name (欄位1,欄位2)values(值1,值2), (值1,值2), (值1,值2);
update table_name set xx = 值,yy = 值 where 條件;
delete from table_name where 條件;
注意:在修改或者刪除資料的時候一定要指定條件,否則可能造成所有資料被汙染或者清空(自增主鍵從1開始)。
清空資料(會把全表都給清空掉,並且自增主鍵從1開始)
truncate table_name;
select * from table_name;
select * from table_name where 條件;
select 欄位as 別名 from table_name where 條件;
mysql 資料庫基本使用
一 連線mysql。格式 mysql h主機位址 u使用者名稱 p使用者密碼 1 連線到本機上的mysql。首先開啟dos視窗,然後進入目錄mysql bin,再鍵入命令mysql u root p,回車後提示你輸密碼.注意使用者名稱前可以有空格也可以沒有空格,但是密碼前必須沒有空格,否則讓你重新輸...
MySQL資料庫的基本使用
mysql資料庫的建立,實現增刪改查功能,資源的關閉 建立資料庫的工具類dbutils 載入資料庫驅動 得到connection物件 public class dbutils catch classnotfoundexception e public static connection getcon...
MySQL資料庫的基本使用
ddl 表建立和刪除 dml操作 mysql是以資料庫做區分,使用者可以運算元據庫,許可權最大的使用者是root,root的密碼在安裝過程中已經設定。在實際開發過程中,需要單獨建立使用者,這個使用者只能操作某個資料庫。建立使用者 create user username host identifie...