欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

MySQL创建表和删除数据库

程序员文章站 2022-05-30 16:29:21
...

MySQL创建表和删除数据库

DB - database
DBA - database administrator
DBMS - database management system
DBS - database system

~ 查看所有数据库:show databases;

查看数据库下所有的表:show tables;

数据类型:

整数:

  • int / integer —> -2^31 ~ 2^31 - 1
    - tinyint / smallint / bigint
    - int unsigned —> 0 ~ 2^32 - 1
    - tinyint unsigned —> 0 ~ 255~ 小数:
    - float / double
    - decimal —> decimal(10,2)
```mysql

字符串:

  • char / varchar
  • longtext —> longblob(二进制大对象)—> 放资源路径(URL)

时间日期:

  • date / time / datetime
  • timestamp

布尔型:

  • boolean —> tinyint(1) —> 0 / 1


SQL - Structured Query Language

```mysql
- DDL - 数据定义语言 ---> create / drop / alter
    ~ create database school default charset utf8mb4;
    ~ drop database if exists school;
    ~ create database school default character set utf8mb4;

    主键(primary key):能够唯一确定一条记录的字段。

    ~ 
    create table `tb_student` 
    (
        `stu_id` integer not null,
        `stu_name` varchar(10) not null,
        `stu_sex` char(1) default 'M' not null,
        `stu_birth` date,
        primary key (`stu_id`)
    );

    ~ 显示表结构:desc tb_student;
    +-----------+-------------+------+-----+---------+-------+
    | Field     | Type        | Null | Key | Default | Extra |
    +-----------+-------------+------+-----+---------+-------+
    | stu_id    | int         | NO   | PRI | NULL    |       |
    | stu_name  | varchar(10) | NO   |     | NULL    |       |
    | stu_sex   | char(1)     | NO   |     | M       |       |
    | stu_birth | date        | YES  |     | NULL    |       |
    +-----------+-------------+------+-----+---------+-------+
切换数据库
    ~ use school;

- DML - 数据操作语言 ---> insert / delete / update
- DQL - 数据查询语言 ---> select
- DCL - 数据控制语言 ---> grant / revoke

创建school数据库

create database school default charset utf8mb4;

drop database if exists school;

use `school`;

create table `tb_student` 
(
	`stu_id` integer not null,
	`stu_name` varchar(10) not null,
	`stu_sex` char(1) default 'M' not null,
	`stu_birth` date,
	primary key (`stu_id`)
);
-- drop table tb_student;

-- 修改表添加一个列
alter table tb_student add column stu_addr varchar(100);

-- 修改表删除一个列
alter table tb_student drop column stu_sex;

alter table tb_student add column sty_sex boolean default 1;


-- 修改表修改一个列
alter table tb_student modify column stu_sex char(1) default 'M';

alter table tb_student change column stu_sex
stu_gender char(1) default 'F';


-- 修改表添加额外的约束条件
alter table tb_student add constraint ck_student_gender
check(stu_genter = M or stu_gender = 'F');

-- 向学生表插入数据
insert into tb_student values
	(1001, '有活跃', 'M','1999-02-06', '四川成都')

college / id / name / found_date / introduction
学院表 (编号、名称、创建日期、简介) —> 3

teacher / id / name / gender / title / birthday / major
老师 (工号、姓名、性别、职称、出生日期、研究方向) —> 5

创建学院表 - college 并向表里添加三条数据

use school;
# 名称一律用英文建立保持良好的代码习惯,可以在后面加注释
create table tb_collage
(
	collage_id integer not null comment '学院编号',
	collage_name varchar(10) not null comment '学院名称',
	collage_found date comment '学院创建日期',
	collage_introduction varchar(150) not null comment '学院简介',
	primary key (collage_id)
);

insert into tb_collage values
	(1001, '西南大学', '1999-02-06', '重庆市北碚区天生路2号'),
    (1002, '成都理工大学', '1999-02-06', '四川省成都市成华区二仙桥东三路1号'),
    (1003, '电子科技大学成都学院', '1999-02-06', '成都校区:四川省成都市高新西区百叶路1号,什邡校区:四川省德阳市什邡市京什东路北段99号'),
    (1004, '上海交通大学', '1999-02-06', '上海市东川路800号 ');

创建老师表 - teacher 并向表里添加五条数据

use school;
create table tb_teacher
(
	teacher_id integer not null comment '教师工号',
	teacher_name  varchar(10) not null comment '教师姓名',
	teacher_gender char(1) default '男' not null comment '教师性别',
	teacher_title  varchar(10) not null comment '教师职称',
    teacher_birthday date comment '出生日期', 
    teacher_major  varchar(50) not null comment '研究方向',
	primary key (teacher_id)
);
alter table tb_student add constraint ck_student_gender
check(stu_genter = '男' or stu_gender = '女');
insert into tb_teacher values
	(1001, '小张', '男', '博士', '1978-01-09', '计算机'),
    (1002, '张三', '男', '博士', '1921-01-09', '电子'),
    (1003, '李四', '女', '硕士', '1938-01-09', '天体'),
    (1004, '王二麻', '女', '博士后', '1922-01-09', '生物'),
    (1005, '大蟒', '男', '教授', '1958-01-09', '医学')