zoukankan      html  css  js  c++  java
  • MySQL数据库基本命令-1

    第一章:数据库概述
    1.数据(data) 数据库(DB) 数据库管理系统(DBMS) 数据库系统(DBS)
    2.数据库管理系统提供的功能:
    (1)数据定义语言:DDL
    (2)数据操作语言:DML 基本的数据操作有两类:检索(查询)和更新(插入,删除,更新)
    查-插-删-更
    (3)数据控制语言(DCL):数据完整性控制,数据安全性控制和数据库的恢复
    第二章:MySql安装与配置

    第三章.MySQL数据库基本操作
    系统数据库和用户数据库
    系统数据库:information_schema,performance_schema,mysql,test
    数据库对象:表,视图,存储过程,函数,触发器和事件
    1.创建数据库
    CREATE DATABASE databasetest;
    2.查看和选择数据库
    查看:SHOW DATABASES;
    选择:USE databasetest;
    3.删除数据库
    DROP DATABASE databasetest1;

    第四章.MySQL数据库中存储引擎和数据类型
    1. SHOW ENGINES G 显示存储引擎
    MySQL5.5支持9种存储引擎:分别为:FEDERATED, MRG_MYISAM,MyISAM,BLACKHOLE,CSVmMEMORY,ARCHIVE,InnoDB和PERFORMANCE_SCHEMA
    P53:存储引擎应用场合建议
    2.数据类型:整数类型,浮点数类型,定点数类型和位类型,日期和时间类型,字符串类型

    (1)整数类型:TINYINT,SMALLINT,MEDIUMINT,INT和INTEGER,BIGINT
    (2)浮点类型:FLOAT,DOUBLE
    定点数类型:DEC(M,D)和DECIMAL(M,D)
    (3)位类型:BIT(M)
    (4)日期和实践类型:DATE,DATETIME,TIMESTAMP,TIME,YEAR
    (5)字符串类型:CHAR(M),VARCHAR(M)

    第五章.表的操作
    表的基本概念:表中数据库对象包含列,索引和触发器
    1.创建表
    (CREATE DATABASE company;)
    (USE company;)
    CREATE TABLE t_dept(
    deptno INT,
    dname VARCHAR(20),
    loc VARCHAR(40)
    );
    2.查看表结构
    (USE company;)
    DESCRIBE t_dept; DESCRIBE语句查看表定义 describe:描述

    (USE company;)
    SHOW CREATE TABLE t_dept G SHOW CREATE TABLE 语句查看表详细定义
    3.删除表
    (USE company;)
    DROP TABLE t_dept;
    (DESCRIBE t_dept;)
    4.修改表
    (1)修改表名
    ALTER TABLE t_dept RENAME tab_dept;
    (2)增加字段
    (USE company;)
    (DESC t_dept;)
    ALTER TABLE t_dept ADD descri VARCHAR(20);
    (DESC t_dept;)

    (USE company;DESC t_dept;)
    ALTER TABLE t_dept ADD descri VARCHAR(20) FIRST;
    (DESCRIBE t_dept;)

    (USE company;DESC t_dept;)
    ALTER TABLE t_dept ADD descri VARCHAR(20) AFTER deptno;
    (3)删除字段
    (USE company;DESC t_dept;)
    ALTER TABLE t_dept DROP deptno;
    (DESCRIBE t_dept;)
    (4)修改字段
    1.修改字段的数据类型
    (USE company;DESC t_dept;)
    ALTER TABLE t_dept MODIFY deptno VARCHAR(20);
    (DESC t_dept;)
    2.修改字段的名字
    ALTER TABLE t_dept CHANGE loc location VARCHAR(40);
    3.同时修改字段的名字和属性
    ALTER TABLE t_dept CHANGE loc location VARCHAR(20);
    4.修改字段的顺序
    ALTER TABLE t_dept MODIFY loc VARCHAR(40) FIRST;
    ALTER TABLE t_dept MODIFY deptno INT(11) AFTER dname;

    5.操作表的约束:在具体使用MySQL软件时,如果想针对表中的数据做一些完整性检查操作,可以通过表的约束来完成
    (1)完整性约束:
    NOT NUL (NK)
    DEFAULT
    UNIQUE KEY (UK)
    PRIMARY KEY (PK)
    AUTO_INCREMENT
    FOREIGN KEY (FK)
    (1)设置非空约束(NOT NULL ,NK)
    (CREATE DATABASE company; USE company;)
    CREATE TABLE t_dept(
    deptno INT(20) NOT NULL,
    dname VARCHAR(20),
    loc VARCHAR(40)
    );
    (DESC t_dept;)
    (2)设置字段的默认值(DEFAULT)
    (CREATE DATABASE company; USE company;)
    CREATE TABLE t_dept(
    deptno INT NOT NULL,
    dname VARCHAR(20) DEFAULT 'cjgong',
    loc VARCHAR(40)
    );
    (DESC t_dept;)
    (3)设置唯一约束(UNIQUE, UK)
    ...
    CREATE TABLE t_dept(
    deptno INT,
    dname VARCHAR(20) UNIQUE,
    loc VARCHAR(40)
    );
    ...
    如果想给字段dname上的UK约束设置一个名字,可以执行sql语句CONSTRAINT,创建表t_dept constraint:约束;限制;强制
    CREATE TABLE t_dept(
    deptno INT,
    dname VARCHAR(20),
    loc VARCHAR(40),
    CONSTRAINT uk_dname UNIQUE(dname)
    );
    (4)设置主键约束(PRIMARY KEY, PK)
    单字段主键
    (CREATE DATABASE company; USE company;)
    CREATE TABLE t_dept(
    deptno INT PRIMARY KEY,
    dname VARCHAR(20),
    loc VARCHAR(40)
    ); 设置主键后默认NOT NULL
    (DESC t_dept;)
    给PK约束设置一个名字:CONSTRAINT
    CREATE TABLE t_dept(
    deptno INT,
    dname VARCHAR(20),
    loc VARCHAR(40),
    CONSTRAINT pk_dname PRIMARY KEY(dname)
    );
    多字段主键
    ...
    CREATE TABLE t_dept(
    deptno INT,
    dname VARCHAR(20),
    loc VARCHAR(40),
    CONSTRAINT pk_dname_deptno PRIMARY KEY(deptno, dname)
    );
    ...
    (5)设置字段值自动增加(AUTO_INCREMENT)
    ...
    CREATE TABLE t_dept(
    deptno INT PRIMARY KEY AUTO_INCREMENT,
    dname VARCHAR(20),
    loc VARCHAR(40)
    );
    ...
    (6)设置外键约束(FOREIGN KEY, FK)
    ...
    CREATE TABLE t_dept(
    deptno INT PRIMARY KEY,
    dname VARCHAR(20),
    loc VARCHAR(40)
    );
    CREATE TABLE t_employee(
    empno INT PRIMARY KEY,
    ename VARCHAR(20),
    job VARCHAR(40),
    MGR INT,
    Hiredate DATE,
    sal DOUBLE(10,2),
    comm DOUBLE(10,2),
    deptno INT,
    CONSTRAINT fk_deptno FOREIGN KEY(deptno)
    REFERENCES t_dept(deptno)
    );
    ...

    第六章.索引的操作
    为什么使用索引:
    六种索引:普通索引,唯一索引,全文索引,单列索引,多列索引和空间索引
    1.创建和查看索引
    三种方式创建索引:创建表时创建索引,在已经存在的表上创建索引和通过SQL语句ALTER TABLE创建索引
    (1).创建表时创建普通索引
    (USE company;)
    CREATE TABLE t_dept(
    deptno INT,
    dname VARCHAR(20),
    loc VARCHAR(40),
    INDEX index_deptno(deptno)
    );
    (SHOW CREATE TABLE t_dept G)
    (2).在已经存在的表上创建普通索引
    ...
    CREATE INDEX index_deptno
    ON t_dept (deptno);
    ...
    (2).通过SQL语句ALTER TABLE创建普通索引
    ALTER TABLE t_dept ADD INDEX index_deptno(deptno);
    2.创建和查看唯一索引
    (1).创建表时创建唯一索引
    ...
    CREATE TABLE t_dept(
    deptno INT UNIQUE,
    dname VARCHAR(20),
    loc VARCHAR(40),
    UNIQUE INDEX index_deptno(deptno)
    );
    (SHOW CREATE TABLE t_dept G; EXPLAIN SELECT * FROM t_dept WHERE deptno=10 G)
    (2).在已经存在的表上创建唯一索引
    CREATE UNIQUE INDEX index_deptno ON t_dept (deptno);
    (3).通过SQL语句ALTER TABLE创建唯一索引
    ALTER TABLE t_dept ADD UNIQUE INDEX index_deptno(deptno);
    3.创建和查看全文索引
    (1).创建表时创建全文索引
    CREATE TABLE t_dept(
    deptno INT,
    dname VARCHAR(20),
    loc VARCHAR(40),
    FULLTEXT INDEX index_loc(loc)
    ) ENGINE=MyISAM;
    (2).在已经存在的表上创建全文索引
    CREATE FULLTEXT INDEX index_loc ON t_dept (loc);
    (3).通过SQL语句ALTER TABLE创建全文索引
    ALTER TABLE t_dept ADD FULLTEXT INDEX index_loc(loc);
    4.创建和查看多列索引
    (1).创建表时创建多列索引
    CREATE TABLE t_dept(
    deptno INT,
    dname VARCHAR(20),
    loc VARCHAR(40),
    KEY index_dname_loc(dname,loc)
    );
    (SHOW CREATE TABLE t_dept G)
    (2)在已经存在的表上创建多列索引
    CREATE INDEX index_dname_loc ON t_dept (dname,loc);
    (3).通过SQL语句ALTER TABLE创建多列索引
    ALTER TABLE t_dept ADD INDEX index_dname_loc(dname,loc);
    5.删除索引
    (USE company; SHOW CREATE TABLE t_dept G; EXPLAIN SELECT * FROM t_dept WHERE dname='cjgong' G)
    DROP INDEX index_dname_loc ON t_dept;
    (SHOW CREATE TABLE t_dept G)

  • 相关阅读:
    uni-app 开发 app
    小程序上传图片到腾讯云
    前端上传文件到腾讯云
    小程序中 使用 aes 进行加密解密处理
    查询端口被占用并且结束占用的端口
    js 对象根据 id 删除一条数据
    element-ui 组件改变样式
    element-ui 弹出框在遮罩层下面
    css样式穿透
    css 清除浮动
  • 原文地址:https://www.cnblogs.com/midiyu/p/8029938.html
Copyright © 2011-2022 走看看