问题描述 :
DDL(Data Definition Language)数据定义语言,用来定义数据库对象 :数据库,表,列(操作数据库和表)
解决方案 :
一、操作数据库 :CRUD
1.C(Create) :创建
(1) 创建数据库 :
create database 数据库名称;
(2) 创建数据库,需判断(如果不存在,就创建)
create database if not exists 数据库名称;
(3)创建数据库,并指定字符集
create database 数据库名称 character set 字符集名称;(utf8,gbk)
------------------------ 练习 :创建db4数据库,判断是否存在,并制定字符集为gbk------------------------
2.R(Retrieve) :查询
(1)查询所有数据库名称:
show databases;
(2)查询某个数据库的字符集 :查询某个数据库的创建语句
show create database 数据库名称;
3.U(Update) :修改
修改数据库的字符集
alter database 数据库名称 character set 字符集名称;
4.D(Delete) :删除
(1)删除数据库
drop database 数据库名称;
(2)删除数据库,需判断(如果存在,就删除)
drop database if exists 数据库名称;
5.使用数据库
(1)使用数据库
use 数据库名称;
(2)查询当前正在使用的数据库名称
select database();
二、操作表 :CRUD
1. C(Create) :创建
(1)语法
Create table 表名称(
列名称1 数据类型1,
列名称2 数据类型2,
... ...
列名称n 数据类型n
);
注意 :最后一列,不需要加逗号
* 数据库里的数据类型 :
1.int类型 :整数类型
age int;
2.double类型 :小数类型
score double(x,y);
3.data :日期,只包含年月日,yyyy-MM-dd
4.datatime :日期,包含年月日时分秒,yyyy-MM-dd HH:mm:ss
5.timestamp :时间戳类型,包含年月日时分秒,yyyy-MM-dd HH:mm:ss
如果将来不给这个字符段赋值,或赋值为null
则默认使用当前的系同时间来自动赋值
6.varchar :字符串类型
name varchar(20); 姓名最大20个字符
e.g. zhangsan 8个字符 张三 2个字符
(2) 创建表
Create table student(
id int,
name varchar(32),
age int,
score double(4,1),
birthday date,
insert_time timestamp
);
(3)复制表
create table 表名称 like 被复制的表名称(复制基表);
2.R(Retrieve) :查询
(1) 查询某个数据库中的所有的表名称
show tables;
(2) 查询表结构
desc 表名称;
3.U(Update) :修改
(1)修改表名称
alter table 表名称 rename to 新名称;
(2)修改表的字符集
alter table 表名称 character set 字符集名称;
(3)添加一列
alter table 表名称 add 列名称 数据类型;
(4)删除一列
alter table 表名称 drop 列名称;
(5)修改列名称、数据类型
alter table 表名称 change 列名称 新列名称 新数据类型;
alter table 表名称 modify 列名称 新数据类型;
4.D(Delete) :删除
drop table 表名称 ;
drop table if exists 表名称;