数据库分类:
1、DDL数据定义语言,用来定义数据库对象,表,列,关键字:drop,alter等
2、DML数据操作语言,用来对数据库中的表的数据进行增删改,关键字:insert,delete,update等
3、DQL数据查询语言,用来查询数据库中表的记录,关键字:select,where等
4、DCL数据控制语言,只做了解
操作数据库:
CRUD
一、操作数据库
1、C(Create):创建
创建数据库:
*create database (想要创建数据库名称);*
创建数据库,判断不存在,在创建:
*create database if not exists (想要创建数据库的名称);*
创建数据库,并指定字符集:
create database 数据库名称 character set 字符集名称;
创建数据库,判断是否存在,并制定字符集为gbk的数据库:
*create database if not exists 创建数据库的名称 character set gbk;*
2、R(Retrieve):
查询查询所有数据库的名称:
*show database;*
查询某个数据库的字符集
*show create database 被查询的数据库的名称;*
3、U(Update):修改
修改数据库的字符集:
*alter database 修改的数据库的名称 character set 字符集名称;*
4、D(delete):删除
删除数据库:
*drop database 数据库的名称;*
判断数据库是否存在,存在就删除:
*drop database if exists 需要删除的数据库的名称;*
5、使用数据库,进入表中
查询当前正在使用的数据库的名称:
*select database();*
使用当前的数据库;
*use 数据库的名称;*
二、操作表
1、C(create):创建表:
create table 表名(
列名1 数据类型1,
列名2 数据类型2,
列名3 数据类型3
。。。
列名n 数据类型n);
注意:最后一列,不需要加逗号
数据类型:
常用
(1)整数类型:int:
例如:age int
(2)小数类型:double:
例如:score double(5,2)
(五位数,保留小数点后两位)
(3)日期类型:
**datetime**,包含年月日小时分钟秒 **yyyyy-MM-dd HH::mm:mm:ss**
**date**,只包含年月日,**yyyy-MM--dd**
**timestamp**,时间错类型 包含年月日小时分钟秒 yyy-MM-dd HH:mm:ss
(如果将来不给这个字段赋值,或者赋值为null,则默认使用当前的系统时间来进行自动赋值)
(4)字符串
name varchar(20)
(姓名最大为为20个字符)
例如:
zhangsan 8个字符 张三 2个字符
创建表:
create table student(
id int,
name varchar(32),
age int,
score double(4,1), #表示小数的最多为4位,保存小数点的最后的四位
birthday date,
insert_time timestamp #最后的一个数据不能加逗号
);
下面的不常用(因为存储视频电影用数据库不太友好,储存视频的链接可以):
(5)BLOB
(6)CLOB
(7)二进制
2、R(Retrieve):查询
查询某个数据库中所有的表名称:
show tables;
查询表结构:
desc 表名称;
3、U(Update):修改
(1)修改表名
alter table 表名 rename to 新的表名;
(2)修改表的字符集
查看表的字符集
show create table 查询字符集的表名;
alter table 修改的表名 character set 修改成的字符集;
(3)添加一列
alter table 添加的表名 add 列的名称 varchar(10);(最后是添加的类型)
(4)即修改字符集的类型又修改表中的一列的名称
alter table 表名 change 列名称 修改后的新的列名 列的类型;
例如:
alter table student2 change gender student1 varchar(10);
(5)只修改表中数据的类型:
alter table 表名 modify 列名 需要修改的数据类型;
(6)删除列
alter table 表名 drop 列名;