MySQL数据库基本操作
这里只做一些简单的摘记,如果想系统的学习或者针对某个模块进行学习还请参考菜鸟教程的链接。
对数据库的操作主要讲究增、删、改、查,这里也以这个为大纲进行讲解。
MySQL基本结构
数据库
首先要讲的是数据库,一个服务器往往有好几个数据库,像information_schema
,mysql
,performace_schema
,phpmyadmin
,sys
是内置的库,然后像employ
,wordfriend
这两个数据库是我自己创建的。一个库里面可以放很多个表,是MySQL最大的一个存储单位。
表
这里的emai
l等四个就是表,一个表里可以装好几个字段。
字段
一个表里可以有好几个字段,email
表里有两个字段,一个字段叫 id
,另一个叫email
,每个字段下面都有很多内容。
MySQL结构介绍完毕,接下来介绍MySQL的一些基本语法。
MySQL基本语法
登录MySQL
mysql -u username -p 回车
密码
eg:mysql -u root -p
root
输入密码的时候看不到,不要以为自己键盘坏了。
增
这里的增主要是新建数据库、数据库内添加表、表内添加字段,字段里面添加内容。
- 新建数据库
create database 数据库名;
创建了一个数据库叫wake
。
- 创建表
首先use wake;
=> 使用wake
数据库。
只有进入了该数据库以后接下来的操作才有效,不然会报错。
create table table_name (column_name column_type);
这里我创建了一个叫wake_table
的表,然后还创建了两个字段,一个叫wake_column1
,是字符型,长度为100;另一个叫wake_column2
,是数值型。
- 创建字段
alter table table_name add column_name column_type;
- 给字段赋值
INSERT INTO table_name (字段1 , 字段2 , 字段3) values (value1 , value2 , value3 );
删
- 删数据库
drop database <数据库名>;
- 删表
DROP TABLE table_name ;
- 删字段
ALTER TABLE 表名 DROP 字段名;
- 删内容
DELETE FROM table_name +条件
改
- 改表名
rename table oldtable to newtable;
- 改字段名
alter table table_name change column old_name new_name type;
- 改内容
UPDATE table_name SET field1=new-value1, field2=new-value2 +条件
查
- 查库名
show databases; #查看该服务器一共有几个数据库
select database(); #查看当前使用的数据库
- 查表名
show tables;
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
库里面存放了当前服务器的所有库名、表名、字段名,便于管理。
这里在左边可以看到page
和word
表是在wordfriend里面的,然后在information_schema
数据库的tables
数据库中,可以看到这两个表的TABLE_SCHEMA
字段就是wordfriend
,所以可以根据这个进行查询。
- 查字段名
select * from awake_table;
select column_name from information_schema.columns where table_name = 'awake_table';
此处于上面的table_schema
同理,在information_schema
数据库中的COLUMNS
表中放了所有的字段名。其中COLUMN_NAME
字段放了所有的字段名,与之对应的TABLE_NAME
就是该字段的所对应的表的名字。
- 查内容
select column_name from table_name;
select * from table_name;
这个列出该表的所有内容。
在这里还能加order by
根据哪个字段排序:
select * from awake_table order by 1;
比较之下应该可以看出排序的效果~
还可以根据某个字段逆序排序:
select * from table_name order by 1 desc;
目前就整理那么多,这些都是比较基本的需要掌握的,多练习,你会发现更多神奇的骚操作~