小粥重学mysql(2)之DDL(数据库定义语言)
操作数据库CRUD
C:创建
创建
# create database 数据库名称;
create database ssm;
创建前判断是否重复
# create database if not exists 数据库名称 ;
create database if not exists ssm ;
创建时指定字符集
# create database 数据库 character set 字符集;
create database db1 character set gbk;
创建前判断不存在,并指定字符集
# create database if not exists 数据库 character set 字符集;
create database if not exists db1 character set gbk;
R:查询
查看所有数据库
show databases;
查看数据库的字符集
# show create database 数据库名称;
show create database ssm;
U:修改
修改数据库的字符集
# alter database 数据库名称 character set 字符集;
alter database db1 character set utf8;
D:删除
# drop database 数据库名称;
drop database db1;
删除前判断是否存在
# drop database if exists 数据库;
drop database if exists db1;
使用数据库
查询当前正在使用的数据库名称
select database()
使用数据库
# use 数据库名称;
use ssm;
操作数据表
C:创建
数据库类型
名称 | 描述 | |
---|---|---|
int | 整数类型 | |
double | 小数类型 | double(4,1)表示 一共四位,小数点后取1位 |
data | 日期 | yyyy-MM-dd |
datatime | 日期 | 包含年月日时分秒 yyyy-MM-dd HH:mm:ss |
timestamp | 时间戳类型 | 包含年月日时分秒 yyyy-MM-dd HH:mm:ss(不赋值,或赋值为null:使用当前系统时间自动赋值) |
varchar | 字符串 | varchar(20)表示最大20个字符 |
语法
create table 表名(
列名1 数据类型,
列名2 数据类型,
...
列名3 数据类型n
)
使用
create table student(
id int,
name varchar(32),
age int,
score double(4,1),
birthday date,
insert_time timestamp
)
R:查询
查询某数据表中所有表的名称
show tables;
查询表结构
# desc 表名称;
desc account;
U:修改
1.修改表名
# alter table 原表名 rename to 新表名
alter table student rename to stu
2.修改表的字符集
查看表的字符集
# show create table 表名
show create table stu
# alter table 表名 character set 字符集
alter table stu character set gbk
3.添加一列
# alter table 表名 add 列名 数据类型
alter table stu add gender varchar(10)
4.修改列的名称和类型
# alter table 表名 change 列名 新列名 数据类型
alter table stu change gender sex varchar(20)
只修改列名
# alter table 表名 modify 列名 新数据类型
alter table stu modify sex varchar(10)
5.删除列
# alter table 表名 drop 列名
alter table stu drop sex
D:删除
小知识:复制表
# create table 新表名 like 被复制表名;
create table stu like student;
# drop table 表名;
# drop table if exists 表名;
drop table if exists student;