第一章:数据库概述
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)

MySQL数据库基本命令-1的更多相关文章

  1. linux操作Mysql数据库基本命令

    1.显示数据库 show databases; 2.选择数据库 use 数据库名; 3.显示数据库中的表 show tables; 4.显示数据表的结构 describe 表名; 5.显示表中记录 S ...

  2. mysql 数据库基本命令语句

    mysql mariadb 客户端连接 mysql -uroot -p; 客户端退出exit 或 \q 显示所有数据库show databases;show schemas; 创建数据库create ...

  3. MySQL数据库-----基本命令操作

    小编之前一直想要了解一下,如何搭建数据库,这里分享一下在此之前的一些准备工作,首先小编是先了解数据库(mysql),以下是小编的一些认识: 一.mysql常用命令1.mysql登录和退出 登录:mys ...

  4. mysql 数据库基本命令

    停止mysql服务:net stop mysql      //管理员方式运行 启动mysql服务:net start mysql 进入数据库:mysql -u root -p 查看数据库:show ...

  5. Linux 对mysql远程授权连接操作 和 查看mysql数据库和表 基本命令

    Linux 对mysql远程连接的授权操作 首先linux连接mysql数据库 授权: grant all on *.* to ' with grant option; //允许账户root从任何主机 ...

  6. 烂泥:mysql数据库使用的基本命令

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. 1.连接数据库的格式 mysql -h IP -u用户名 -p密码; 1.1连接远程数据库 mysql -h 192.168.1.214 -uroot ...

  7. mysql数据库增、删、改、查等基本命令

    测试环境:windows7 64位 mysql.exe.Navicat Lite for MySQL.mysql 5.0.18 mysql数据库的基本结构: 数据库(database)包含多个表(ta ...

  8. Python Paramiko模块与MySQL数据库操作

    Paramiko模块批量管理:通过调用ssh协议进行远程机器的批量命令执行. 要使用paramiko模块那就必须先安装这个第三方模块,仅需要在本地上安装相应的软件(python以及PyCrypto), ...

  9. MySQL的基本命令

    MySQL的基本命令 启动:net start mySql; 进入:mysql -u root -p/mysql -h localhost -u root -p databaseName; 列出数据库 ...

随机推荐

  1. Android如何着色字符串的特定部分

    文章选自StackOverflow(简称:SOF)精选问答汇总系列文章之一,本系列文章将为读者分享国外最优质的精彩问与答,供读者学习和了解国外最新技术.本文探讨Android如何着色字符串的特定部分. ...

  2. 【BZOJ4873】[六省联考2017]寿司餐厅(网络流)

    [BZOJ4873][六省联考2017]寿司餐厅(网络流) 题面 BZOJ 洛谷 题解 很有意思的题目 首先看到答案的计算方法,就很明显的感觉到是一个最大权闭合子图. 然后只需要考虑怎么构图就行了. ...

  3. 用户队列服务API

    /// <summary> /// 用户队列服务API /// </summary> public interface ICustomerQueueManager : ISer ...

  4. ELK部署详解--kibana

    kibana.yml # Kibana is served by a back end server. This setting specifies the port to use.#端口server ...

  5. Who Gets the Most Candies? POJ - 2886 (线段树)

    按顺时针给出n个小孩,n个小孩每个人都有一个纸,然后每个人都有一个val,这个val等于自己的因子数,如果这个val是正的,那就顺时针的第val个孩子出去,如果是负的话,就逆时针的第val个孩子出去, ...

  6. selenium js

    这几天的任务量比较大,还有一个挺棘手的网站cfda,不巧的是数据量还挺大,40W关于企业信息.上来就是debugger pause,调试中断,开始还是挺懵逼的,但这个还算简单毕竟google,百度,就 ...

  7. 20165223 week6测试错题总结

    由于时间预估错误及手机自身卡顿问题,虽然已经作答完成,却在最后提交时出现错误,错失提交时间,所以没能按时提交答案,也就没有纠错,以下仅凭印象列出错题: Q1:若超出JVM运行能力,如"byt ...

  8. Java Number & Math 类

    // java.lang.Math 常用 // xxxValue() 方法用于将 Number 对象转换为 xxx 数据类型的值并返回. System.out.println(((Integer) 5 ...

  9. Dockerfile技巧

    换镜像源 Ubuntu RUN sed -i 's/archive.ubuntu.com/mirrors.tuna.tsinghua.edu.cn/g' /etc/apt/sources.list A ...

  10. (七)修改上一条SQL语句,NULL值的滤空函数nvl

    修改上一条SQL语句 1.用c命令来修改(c 即 change ) 默认,光标闪烁位置指向上一条SQL语句的第一行.输入二则定位到第二行. c /错误的关键字/正确的关键字 SQL form emp; ...