MySQL的基本操作

以Excel文件举例:

数据库:可以看作是整个excel文件。

数据表:可以看作是一个excel文件中的工作表。


  • 行(记录):可以看作是一个工作表中的一行(row)
  • 列(字段):可以看作是一个工作表总的一列(col)

库操作

SHOW DATABASES;       显示当前MySQL中全部的数据库
CREATE DATABASE 库名; 创建数据库
DROP DATABASE 库名; 删除数据库
USE 库名; 切换数据库

表操作

SHOW TABLES;        显示当前数据库中所有的表名(必须先use数据库)  
CREATE TABLE 表名称 在当前数据库下创建数据表
(
列名称1 数据类型 [NOT NULL AUTO_INCREMENT],
列名称2 数据类型,
列名称3 数据类型,
....,
PRIMARY KEY(主键字段名)
);

也可以这样写
CREATE TABLE 表名称 在当前数据库下创建数据表
(
列名称1 数据类型 PRIMARY KEY [NOT NULL AUTO_INCREMENT],
列名称2 数据类型,
列名称3 数据类型,
....,
);
其他列默认为 default null,所以不需要写

常见的数据类型:int(整型)、char(定长字符)、varchar(不定长字符)。

主键一般就是序号所在的那一列(主键不能重复)。

DESC 表名; 描述一个数据表(查看表结构)
DROP TABLE [IF EXISTS] 表名; 删除一个数据表

例如:创建数据表(去test库中创建),要求:表名xg,要求有字段如下:

Id字段,11位整型,不为空,自增,主键
Username字段,varchar类型,20长度
Password字段,char类型,32长度
SQL(standard query language)语句:

Create table xg(
Id int(11) not null auto_increment,
Username varchar(20),
Password char(32),
Primary key(id)
);

mysql基本语句操作_数据类型

查看表结构

mysql基本语句操作_数据类型_02

删除数据表

mysql基本语句操作_mysql基本操作_03

记录/字段操作

增加记录

语法1:INSERT INTO 表名称 VALUES (值1, 值2,....);
语法2:INSERT INTO 表名称 (列1, 列2,...) VALUES (值1, 值2,....);

案例:往数据表xg表中新增一个记录username为zhangsan,password为123456(加密结果E10ADC3949BA59ABBE56E057F20F883E)

Sql语句:
insert into xg (username,password) values (‘zhangsan’,’E10ADC3949BA59ABBE56E057F20F883E’)

mysql基本语句操作_表名_04

要求前面的列名与值要一一对应。

更新记录

语法:UPDATE 表名称 SET 列名称1 = 新值1,列名称2 = 新值2… WHERE 列名称 = 某值;

案例:使用更新语句更新id大于等于2的记录,将其密码改为:25F9E794323B453885F5181F1B624D0B

SQL语句:
Update xg set password = ‘25F9E794323B453885F5181F1B624D0B’ where id >= 2;

mysql基本语句操作_表名_05

以后在执行影响行数的sql操作的时候一定需要注意条件是否写错或者漏写。

查询记录

SELECT 列名称1,列名称2… FROM 表名称 WHERE 条件;
SELECT * FROM 表名称 WHERE 条件;

案例:查询刚才新增的记录

只查询用户名和密码,并且是id=2的:

Select username,password from xg where id = 2;

mysql基本语句操作_表名_06

查询全部:mysql基本语句操作_mysql基本操作_07

删除记录

DELETE FROM 表名称 WHERE 列名称 = 值;

案例:删除id为2的记录

Delete from xg where id = 2;

mysql基本语句操作_数据库_08


Enter current password for root (enter for
none):请输入当前root用户的密码,如果没有按回车,注意此root并非linux的root用户。

Set root password?是否设置root密码? 需要设置的密码:自定义

Remove anonymous users?是否移除匿名用户,选择移除(Y)

Disallow root login remotely?是否不允许root远程登录(默认不允许)

Remove test database and access to it?是否移除测试数据库(建议先不移除)

Reload privilege tables now?是否重新加载权限表(当我们更改了mysql用户相关的信息之后建议去重载权限)


要解决的问题:允许mysql远程登录mysql基本语句操作_数据类型_09

a. 先进入数据库选择mysql数据库;

b. 执行sql语句:​​select host,user from user;​

mysql基本语句操作_数据库_10

c. 将其中的一个记录的host值改为“%”,表示可以允许任何地方登录

mysql基本语句操作_表名_11

d. 刷新权限表或者重启mysql

刷新权限:mysql> flush privileges;

mysql基本语句操作_数据库_12

e. navicat登录成功

mysql基本语句操作_数据类型_13