mariadb 資料型別
mariadb資料型別可以分為數字,日期和時間以及字串值。
使用資料型別的原則:夠用就行, 盡量使用範圍小的,而不用大的
• 常用的資料型別
整數:int, bit
小數:decimal #decimal(5,2)
字串:varchar, char
列舉型別(enum) 明確給出選項讓你選擇的
• 約束
主鍵primary key:物理上儲存的順序(預設是索引:相當於是目錄)
非空not null:此欄位不能為空
唯一unique:此字段不允許重複
預設default:當不填寫此值時會使用預設值,如果填寫則已填寫為準
外來鍵foreign key:對關係字段進行約束,當為關係字段填寫值時,會到關聯的表中查詢此值是否存在,如果存在則填寫成功,如果不存在則填寫失敗並丟擲異常
–顯示當前時間
select now();
–建立classes表(id, name)
create table ***x(id int, name varchar(20));
create table yyyy(id int primary key not null auto_increment, name varchar(30));
create table zzzz(
id int primary key not null auto_increment,
name varchar(20)
);–檢視表結構 表的列和約束
desc table_name
–建立students表(id, name, age, high, gender, cls_id)
create table students (
id int unsigned not null auto_increment primary key,
name varchar(20),
age tinyint unsigned default 0,
high decimal(5,2),
gender enum(『男』, 『女』, 『中性』, 『保密』) default 『保密』,
cls_id int unsigned
);insert into students values(0,『金星』,18, 188.88, 『中性』, 0);
查詢students表資料
select * from students;
–建立classes表(id, name)
create table classes(
id int unsigned not null auto_increment primary key,
name varchar(20)
);–檢視表的建立
show create table table_name
–修改表-新增字段
–alter table 表名 add 列名 型別;
alter table students add birthday datetime;
– 修改表-修改字段:不重新命名版,修改型別
– alter table 表名 modify 列名 型別及約束;
alter table students modify birthday date;
– 修改表-修改字段:重新命名版
– alter table 表名 change 原名 新名 型別及約束;
alter table students change birthday birth date default 『2000-01-01』;
– 修改表-刪除字段
– alter table 表名 drop 列名;
alter table students drop ***;
– 刪除表
– drop table 表名;
–myisam與innodb區別
–兩種型別最主要的區別就是inndb支援事物處理與外來鍵和行級鎖
–增刪改查
–增加–全列插入
–insert into 表名 values(…) 括號內是列對應的資料
–主鍵字段 可以用0 null default 來站位
insert into classes values (0, 『大神班』);
– 向students表裡插入 乙個學生資訊
insert into students values (0, 『鹿鼎記』, 20, 『女』, 1, 『1990-01-01』)
insert into students values (null, 『鹿鼎記』, 20, 『女』, 1, 『1990-01-01』)
insert into students values (default, 『鹿鼎記』, 20, 『女』, 1, 『1990-01-01』)
insert into students values (default, 『鹿鼎記』, 20, 『1』, 1, 『1990-01-01』)
insert into students values (default, 『鹿鼎記』, 20, 『2』, 1, 『1990-01-01』)
insert into students values (default, 『鹿鼎記』, 20, 『3』, 1, 『1990-01-01』)
insert into students values (default, 『鹿鼎記』, 20, 『4』, 1, 『1990-01-01』)
–失敗insert into students values (default, 『鹿鼎記』, 20, 『第四性別』, 1, 『1990-01-01』)
–部分插入
insert into students(name, gender) values (『小喬』, 2);
insert into students(name, gender) values (『大喬』, 2),(『貂蟬』, 2);
–修改–update 表名 set 列1=值1, 列2=值2… where 條件;
–刪除– 物理刪除
– delete from 表名 where 條件
delete from students;
delete from students where xx=xx
– 邏輯刪除
– 用一條欄位來表示 這條資訊是否已經不能在使用了
– 給students表新增乙個is_delete欄位 bit 型別
– alter table students add is_delete bit default 0;
– update students set is_delete=1 where id=6;
alter table students add is_delete bit default 0;
–查詢基本使用
– 查詢所有列
–select * from 表名
select * from students;
–一定條件查詢
select * from students where name=『小李飛刀』;
select * from students where id>3;
– 查詢制定列
select name, gender from students;
– 可以使用as制定列或表制定別名;
select name as 姓名, gender as 性別 from students;
–欄位的順序
select id as 序號, gender as 性別, name as 姓名 from students;
資料庫增刪改查
我們知道當我們的表建立後重複執行會出錯,一般我們會這麼處理 create table if not exists stuinfo 學了新建表我們還應該知道乙個東西,如何刪除表 deop table table name 怎麼檢視別人的見表語句呢 show create table stuinfo 怎...
資料庫增刪改查
import pymysql def getmysqlconn conn pymysql.connect host 172.16.238.130 port 3306,db my mysql user root password 123456 charset utf8 return conn def ...
資料庫增刪改查
資料庫操作 show databases create database 資料庫名 use 資料庫名 select database drop database 資料庫名 資料表操作 create table 表名 欄位名 型別名 約束 show tables drop table 表名 資料表增刪...