Msql数据管理
一、数据表的管理主要有: 创建表,删除表,修改表结构,查看表结构等。
创建表
语法:
create table 表名(字段1 数据类型 字段约束等,字段2 ...,字段3 ...)表选项
创建test数据库
语法:
CREATE DATABASE IF NOT EXISTS test DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci;
切换到test数据库
use test;
新建一个学生表(student),
第一个字段 学生ID (sid),作为主键,自增(自增就是说id随着表记录的增加自动+1);类型为 int
第二个字段 学生姓名 (sname),类型为varchar,要求该字段不能为空
第三个字段 学生生日 (birthday),类型为 date
第四个字段 性别 (sex),类型为varchar,默认值为男
create table student ( sid int auto_increment comment '学生ID', primary key (sid), sname varchar(20) not null comment '学生姓名', birthday date null comment '学生生日', sex varchar(3) default '男' null comment '学生性别' ) comment '学生表';
解释:
- create table student(XXXX) comment ‘学生表’;
创建数据表 名为 student,添加备注为 学生表,(XXXX):括号里面的为表的字段信息 - sid int auto_increment comment ‘学生ID’,
-
sid 为字段名,
-
int 为字段类型,
-
auto_increment:声明该字段自增,
-
comment ‘学生ID’: 备注该字段为 学生ID
-
- primary key (sid),
声明sid字段为主键 - sname varchar(20) not null comment ‘学生姓名’,
-
sname:字段名,
-
varchar(20):字段类型varchar,最长保存字符数为20,
-
not null:表示该字段不能为空,
-
comment ‘学生姓名’,:备注该字段为 学生姓名
-
- birthday date null comment ‘学生姓名’,
-
birthday:字段名
-
date: 字段类型为date
-
null: 表示该字段可以为空
-
comment ‘学生生日’,: 备注字段为学生生日
-
- sex varchar(3) default ‘男’ null comment ‘学生性别’
-
sex:字段名
-
varchar(3): 字段类型为varchar,最长保存字符数为3
-
default ‘男’: 字段默认值为 男
-
null: 表示该字段可以为空
-
comment ‘学生性别’: 备注字段为学生性别
-
创建多个表:
-- 创建 teach 库create database if not exists teach default charset utf8mb4 COLLATE utf8mb4_unicode_ci;use teach;-- 新建学生表create table student ( sid int auto_increment comment '学生ID', primary key (sid), sname varchar(20) not null comment '学生姓名', birthday date null comment '学生生日', sex varchar(3) default '男' null comment '学生性别') comment '学生表';-- 新建老师表create table teacher ( tid int auto_increment comment '老师ID', tname varchar(10) not null comment '老师名字', PRIMARY KEY (tid) ) comment '老师表';-- 新建成绩表create table sc ( id int auto_increment comment '成绩ID', sid int comment '学生ID', cid int comment '课程ID', score decimal(4, 1) comment '分数', PRIMARY KEY (id) ) comment '成绩表';-- 新建课程表create table course ( cid int auto_increment comment '课程ID', cname varchar(10) comment '课程名字', tid varchar(10) comment '老师id', PRIMARY KEY (cid) ) comment '课程表';
查看所有表
show tables;
查看表结构
DESCRIBE 表名;
删除表
DROP TABLE 表名
删除student 表
drop table student;
查看表
SHOW TABLES;
修改表名
语法:
ALTER TABLE ‹旧表名› RENAME TO ‹新表名›;
实战:修改student表名为 t_student
ALTER TABLE student RENAME TO t_student;
修改字段名
语法:
ALTER TABLE ‹表名› CHANGE ‹旧字段名› ‹新字段名› ‹新数据类型›;
实战:修改t_student的birthday字段名称为 bir
alter table t_student change birthday bir date ;
修改字段类型
语法:
ALTER TABLE ‹表名› MODIFY ‹字段名› ‹数据类型›
实战:修改t_student的bir字段类型为 datetime
ALTER TABLE t_student MODIFY bir datetime;
删除表的字段
ALTER TABLE ‹表名› DROP ‹字段名›;
实战:修改t_student表的 sex 字段
ALTER TABLE t_student DROP sex;
修改表的字符集
ALTER TABLE 表名 DEFAULT CHARACTER SET ‹字符集名› COLLATE ‹校对规则名›;
修改t_student的字符集为 gb2312,校对规则为 gb2312_chinese_ci
ALTER TABLE t_student DEFAULT CHARACTER SET gb2312 COLLATE gb2312_chinese_ci;
添加字段
ALTER TABLE ‹表名› ADD ‹新字段名›‹数据类型›[约束条件];
将删除的sex字段添加回来
ALTER TABLE t_student ADD sex varchar(3) default ‘男’;