數(shù)據(jù)庫(kù)的CRUD:數(shù)據(jù)庫(kù)的增刪改查
表的CRUD
表記錄的CRUD
一、數(shù)據(jù)庫(kù)的CRUD
1.增
關(guān)鍵詞:
CREATE DATABASE db_name
如:
//創(chuàng)建一個(gè)名為mydb1的數(shù)據(jù)庫(kù)
create database mydb1;
//創(chuàng)建一個(gè)使用gbk字符集的數(shù)據(jù)庫(kù)
create database mydb2 character set gbk;
2.查
//查看當(dāng)前數(shù)據(jù)庫(kù)服務(wù)器中的所有數(shù)據(jù)庫(kù)
show database;
//顯示數(shù)據(jù)庫(kù)創(chuàng)建語(yǔ)句
show create database db_name;
//查看前面創(chuàng)建的mydb2數(shù)據(jù)庫(kù)的定義信息
show create database mydb2;
3.修改數(shù)據(jù)庫(kù)
注:數(shù)據(jù)庫(kù)的名稱無(wú)法修改
ALTER DATABASE db_name[CHARACTER SET charset_name][COLLATE collation_name]
//查看數(shù)據(jù)庫(kù)中的所有數(shù)據(jù)庫(kù)真屯,并把mydb2庫(kù)的字符集修改為utf-8
alter database mydb2 character set utf8
4.刪除數(shù)據(jù)庫(kù)
DROP DATABASE db_name
//刪除前面創(chuàng)建的mydb2數(shù)據(jù)庫(kù)
drop database mydb2;
5.選擇數(shù)據(jù)庫(kù)
//使用數(shù)據(jù)庫(kù)
use mydb1;
select database();
二夜焦、表的CRUD
字符串類型
定長(zhǎng)字符串:char(n),max{255個(gè)字符},手機(jī)號(hào)身份證號(hào)等兽叮,效率會(huì)高一些
不定長(zhǎng)字符串:varchar(n),max{65535字節(jié)},用戶名或昵稱等,節(jié)省空間
數(shù)值類型
TINYINT
SMALLINT
INT,max{4}
BIGINT,max{8},對(duì)應(yīng)long
float,4字節(jié)單精度浮點(diǎn)類型,對(duì)應(yīng)float
double,8字節(jié)雙精度浮點(diǎn)類型煮甥,對(duì)應(yīng)double
最常用的是INT和DOUBLE
大數(shù)據(jù)類型
BLOB
大二進(jìn)制類型形入,可以存入二進(jìn)制類型的數(shù)據(jù)全跨,通過(guò)這個(gè)字段,可以將圖片、音頻亿遂、視頻等數(shù)據(jù)以二進(jìn)制的形式存入數(shù)據(jù)庫(kù)浓若,最大為4GB
TEXT
大文本渺杉,最大為4GB,可以保存大量的字符數(shù)據(jù)
text屬于MYSQL方言挪钓,在其他數(shù)據(jù)庫(kù)中為clob類型
日期類型
create_time last_update_time
DATE:日期2017-11-05
TIME:時(shí)間格式? ? ‘HH:MM:SS’ 19:19:19
DATETIME 日期時(shí)間? ? 2017-11-05? ? 19:19:19? ? 年份范圍:1000-9999
TIMESTAMP:時(shí)間戳2017-11-05? ? 19:19:19?年份范圍 1970-2037,存的是毫秒值
日期常用DATE,
邏輯型
BIT型字段只能取兩個(gè)值:0或1
//創(chuàng)建表
create table employee(
id int,
name varchar(50),
gender char(1),
birthday date,
entry_date date,
job varchar(20),
salary double,
resume text
);
主鍵約束:保證所約束列中的值必須唯一且不能為空
添加主鍵約束:col_name datatype primary key
表已存在是越,則Alter table tabname add primary key(col_name)
設(shè)置主鍵自動(dòng)增長(zhǎng):col_name datatype primary key auto_increment
唯一約束:unique? ? 唯一且非空
非空:not null? ? 非空
外鍵約束:再說(shuō)
create table employee2(
? ? id int primary key auto_increment,
? ? name varchar(40) unique,
? ? gender char(1) not null,
? ??birthday date,
????entry_date date,
????job varchar(20),
????salary double,
????resume text
);
查看表
//查看所有的表
show tables;
//查看表結(jié)構(gòu)
desc employee;
//在上面員工表的基礎(chǔ)上增加一個(gè)image列
alter table employee add image blob;
//修改job列,使其長(zhǎng)度為60
alter table employee modify job varchar(60);
//刪除gender列
alter table employee drop gender;
//表名改為user
alter table employee rename to user;
或
rename table user to employee;
//列名name改為username
alter table employee change name username varchar(20);
//將image插入到id列的后面
alter table employee modify image blob after id;
//修改表的字符集為GBK
show create table employee;
alter table employee character set gbk;
//刪除表
show tables;
drop table employee2;
或
truncate table employee2;