mysql学习笔记

显示数据表

SHOW DATABASES;

创建数据库 demo

CREATE DATABASE demo;

删除数据库 demo

DROP DATABASE demo;

创建数据表

CREATE TABLE student(
  id INT UNSIGNED PRIMARY KEY,
  name VARCHAR(20) NOT NULL,
  sex CHAR(1) NOT NULL,
  birthday DATE NOT NULL,
  tel CHAR(11) NOT NULL,
  remark VARCHAR(200)
);

插入数据

INSERT INTO student VALUES(1, "木木警官", "男", "1999-05-29", "15770705548", "单身狗");

添加字段

ALERT TABLE student
ADD address VARCHAR(200) NOT NULL,
ADD home_tel CHAR(11) NOT NULL;

修改字段

ALERT TABLE student
MODIFY home_tel VARCHAR(20) NOT NULL;

修改字段名字

ALERT TABLE student
CHANGE address home_address VARCHAR(20) NOT NULL;

删除字段

ALERT TABLE student
DROP home_address,
DROP home_tel;

查看表结构

DESC student;

主键约束 PRIMARY KEY

PRIMARY KEY

非空约束 NOT NULL

NOT NULL

唯一约束 UNIQUE

CREATE TABLE t_tearcher(
 id INT PRIMARY KEY AUTO_INCREMENT,
 name VARCHAR(200) NOT NULL,
 tel CHAR(11) NOT NULL UNIQUE,
 married BOOLEAN NOT NULL DEFAULT FALSE
);

外键约束 FOREIGN KEY

// 父表

deptno dname tel
10 财务部 1001
20 技术部 1002
30 销售部 1003
CREATE TABLE t_dept(
  deptno INT UNSIGNED PRIIMARY KEY,
  dname VARCHAR(20) NOT NULL UNIQUE,
  tel CHAR(4) UNIQUE
);

// 子表

empno name sex deptno hiredate
1 陈浩 10 2018-05-10
2 李婷婷 30 2018-03-22
CREATE TABLE t_emp(
  empno INT UNSIGNED PRIMARY KEU,
  ename VARCHAR(20) NOT NULL,
  sex ENUM("男","女") NOT NULL,
  deptno INT UNSIGNED,
  hiredate DATE NOT NULL,
  FOREIGN KEY (deptno) REFERENCES t_dept(deptno)
);

创建添加索引

// 第一种方法
CREATE INDEX 索引名称 ON 表名(字段);
CREATE INDEX idx_type ON t_message(type);
// 第二种方法
ALERT TABLE 表名 ADD INDEX 索引名称(字段)
ALERT TABLE t_message ADD INDEX idx_type(type);

CREATE TABLE t_message(
    id INT UNSIGNED PRIMARY KEY,
    content VARCHAR(200) NOT NULL,
    type ENUM("公告", "通报", "个人通知") NOT NULL,
    create_time TIMESTAMP NOT NULL,
    INDEX idx_type (type)
  );

删除索引

DROP INDEX 索引名称 ON 表名

查看索引

SHOW INDEX FROM 表名;
posted @ 2022-03-02 20:00  沉默-是金  阅读(38)  评论(0编辑  收藏  举报