数据库的CRUD:数据库的增删改查
表的CRUD
表记录的CRUD
一、数据库的CRUD
1.增
关键词:
CREATE DATABASE db_name
如:
//创建一个名为mydb1的数据库
create database mydb1;
//创建一个使用gbk字符集的数据库
create database mydb2 character set gbk;
2.查
//查看当前数据库服务器中的所有数据库
show database;
//显示数据库创建语句
show create database db_name;
//查看前面创建的mydb2数据库的定义信息
show create database mydb2;
3.修改数据库
注:数据库的名称无法修改
ALTER DATABASE db_name[CHARACTER SET charset_name][COLLATE collation_name]
//查看数据库中的所有数据库,并把mydb2库的字符集修改为utf-8
alter database mydb2 character set utf8
4.删除数据库
DROP DATABASE db_name
//删除前面创建的mydb2数据库
drop database mydb2;
5.选择数据库
//使用数据库
use mydb1;
select database();
二、表的CRUD
字符串类型
定长字符串:char(n),max{255个字符},手机号身份证号等,效率会高一些
不定长字符串:varchar(n),max{65535字节},用户名或昵称等,节省空间
数值类型
TINYINT
SMALLINT
INT,max{4}
BIGINT,max{8},对应long
float,4字节单精度浮点类型,对应float
double,8字节双精度浮点类型,对应double
最常用的是INT和DOUBLE
大数据类型
BLOB
大二进制类型,可以存入二进制类型的数据,通过这个字段,可以将图片、音频、视频等数据以二进制的形式存入数据库,最大为4GB
TEXT
大文本,最大为4GB,可以保存大量的字符数据
text属于MYSQL方言,在其他数据库中为clob类型
日期类型
create_time last_update_time
DATE:日期2017-11-05
TIME:时间格式 ‘HH:MM:SS’ 19:19:19
DATETIME 日期时间 2017-11-05 19:19:19 年份范围:1000-9999
TIMESTAMP:时间戳2017-11-05 19:19:19 年份范围 1970-2037,存的是毫秒值
日期常用DATE,
逻辑型
BIT型字段只能取两个值:0或1
//创建表
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)
设置主键自动增长:col_name datatype primary key auto_increment
唯一约束:unique 唯一且非空
非空:not null 非空
外键约束:再说
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;
//查看表结构
desc employee;
//在上面员工表的基础上增加一个image列
alter table employee add image blob;
//修改job列,使其长度为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;