菜鸟教程传送门

这里只做一些简单的摘记,如果想系统的学习或者针对某个模块进行学习还请参考菜鸟教程的链接。
对数据库的操作主要讲究增、删、改、查,这里也以这个为大纲进行讲解。


MySQL基本结构

数据库

在这里插入图片描述
首先要讲的是数据库,一个服务器往往有好几个数据库,像information_schema,mysql,performace_schema,phpmyadmin,sys是内置的库,然后像employ,wordfriend这两个数据库是我自己创建的。一个库里面可以放很多个表,是MySQL最大的一个存储单位。

在这里插入图片描述
这里的email等四个就是表,一个表里可以装好几个字段。

字段

在这里插入图片描述
一个表里可以有好几个字段,email表里有两个字段,一个字段叫 id,另一个叫email,每个字段下面都有很多内容。

MySQL结构介绍完毕,接下来介绍MySQL的一些基本语法。


MySQL基本语法

登录MySQL

1
2
3
4
5
mysql -u username -p   回车
密码

eg:mysql -u root -p
root

在这里插入图片描述
输入密码的时候看不到,不要以为自己键盘坏了。

这里的增主要是新建数据库、数据库内添加表、表内添加字段,字段里面添加内容。

  • 新建数据库

    1
    create database 数据库名;

    在这里插入图片描述
    创建了一个数据库叫wake
    在这里插入图片描述

  • 创建表
    首先use wake; => 使用wake数据库。
    只有进入了该数据库以后接下来的操作才有效,不然会报错。
    在这里插入图片描述

1
create table table_name (column_name column_type);

在这里插入图片描述
这里我创建了一个叫wake_table的表,然后还创建了两个字段,一个叫wake_column1,是字符型,长度为100;另一个叫wake_column2,是数值型。

  • 创建字段

    1
    alter table table_name add column_name column_type;

    在这里插入图片描述

  • 给字段赋值

    1
    INSERT INTO table_name (字段1 , 字段2 , 字段3) values (value1 , value2 , value3 );

    在这里插入图片描述

  • 删数据库

    1
    drop database <数据库名>;

    在这里插入图片描述

  • 删表

    1
    DROP TABLE table_name ;

    在这里插入图片描述

  • 删字段

    1
    ALTER TABLE 表名 DROP 字段名;

    在这里插入图片描述

  • 删内容

    1
    DELETE FROM table_name +条件

    在这里插入图片描述

  • 改表名

    1
    rename table oldtable to newtable;

    在这里插入图片描述

  • 改字段名

    1
    alter table table_name change column old_name new_name type;

    在这里插入图片描述

  • 改内容

    1
    UPDATE table_name SET field1=new-value1, field2=new-value2 +条件

    在这里插入图片描述

  • 查库名
    1
    show databases;        #查看该服务器一共有几个数据库
    在这里插入图片描述
    1
    select database();        #查看当前使用的数据库
    在这里插入图片描述
  • 查表名

    1
    show tables;

    在这里插入图片描述

    1
    2
    3
    select table_name from information_schema.tables where table_schema = database();
    select table_name from information_schema.tables where table_schema = 'wake';
    #这里 database() 等效于 ‘wake’,都是表示数据库名

    在这里插入图片描述
    在这里插入图片描述
    这个操作能实现的原理是,information_schema库里面存放了当前服务器的所有库名、表名、字段名,便于管理。
    在这里插入图片描述
    这里在左边可以看到pageword表是在wordfriend里面的,然后在information_schema数据库的tables数据库中,可以看到这两个表的TABLE_SCHEMA字段就是wordfriend,所以可以根据这个进行查询。

  • 查字段名

    1
    select * from awake_table;

    在这里插入图片描述

1
select column_name from information_schema.columns where table_name = 'awake_table';

在这里插入图片描述
此处于上面的table_schema同理,在information_schema数据库中的COLUMNS表中放了所有的字段名。其中COLUMN_NAME字段放了所有的字段名,与之对应的TABLE_NAME就是该字段的所对应的表的名字。

  • 查内容
    1
    select column_name from table_name;
    在这里插入图片描述
    1
    select * from table_name;
    在这里插入图片描述
    这个列出该表的所有内容。

在这里还能加order by 根据哪个字段排序:

1
select * from awake_table order by 1;

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
比较之下应该可以看出排序的效果~

还可以根据某个字段逆序排序:

1
select * from table_name order by 1 desc;

在这里插入图片描述

目前就整理那么多,这些都是比较基本的需要掌握的,多练习,你会发现更多神奇的骚操作~