MySQL学习(一)

在学习MySQL的时候,我选择的是mysql命令行实用程序,因为它对于快速测试和执行脚本非常有价值,并且便于传播与存储。
我们首先输入命令来连接到MySQL,连接的时候需要输入我们安装时候设置的root密码。在这里使用了root用户登录到mysql服务器,我们也可以使用其他mysql用户登录。

mysql -u root -p

在这里插入图片描述

数据库

创建数据库

CREATE DATABASE libraryinfo;
CREATE DATABASE library;
CREATE DATABASE info;

libraryinfo、library、info是数据库的名字。
我们可以输入语句来看存储的所有数据库:

SHOW DATABASES;

在这里插入图片描述

删除数据库

DROP DATABASE library;
DROP DATABASE info;

DATABASE后面的是数据库名。
我们再用之前的SHOW命令显示数据库信息,可以看到library和info数据库被删除了。
在这里插入图片描述

选择数据库

USE libraryinfo;

在这里插入图片描述

创建和操纵表

创建表

CREATE TABLE book_info
(
    ISBN                  char(30)          NOT NULL,
    book_name             char(50)          NOT NULL,
    author                char(20)          NOT NULL,
    publisher             char(20)          NOT NULL,
    pub_date              date              NOT NULL,
    book_price            double            NOT NULL,
    book_id               int(4)            NOT NULL AUTO_INCREMENT,
    book_status           boolean           NOT NULL,
    PRIMARY KEY (book_id)
);

1.AUTO_INCREMENT定义列为自增的属性,一般用于主键,数值会自动加1。
2.PRIMARY KEY关键字用于定义列为主键,可以使用多列来定义主键,列间以逗号分隔。

更新表

ALTER TABLE book_info
ADD book_type CHAR(20);

这条语句给book_info表增加一个名为book_type的列,需要注意的是我们必须明确其数据类型。
删除刚刚的列,可以这样做。

ALTER TABLE book_info
DROP COLUMN book_type;

删除表

DROP TABLE book_info2;

这条语句删除book_info2表

重命名表

RENAME TABLE book_info2 TO book_info1;

将表book_info2的名字改为book_info1

null值

NULL值就是没有值或缺值,允许NULL的列允许在插入行时不给出该列的值,不允许NULL值的列不接受该列没有值的行。

主键再介绍

主键值必须唯一,如果使用单个列,它的值必须唯一,如果使用多个列,这些列的组合值必须唯一。
在用单个列作为主键的时候,可以用下面的语句定义:

PRIMARY KEY ()

管理用户

我们在学习的过程中可以使用root进行登录,但是在日常工作的时候,不要使用root,而是应该创建一系列的账号,供不同的对象使用。
用户账号和信息存储在名为mysql的数据库中,在需要获取用户账号列表的时候,我们可以直接访问它。代码如下:

USE mysql;
SELECT user FROM user;

在这里插入图片描述
mysql数据库有一个名为user的表,user表有一个名为user的列,它用于存储用户登录名。

创建用户账号

CREATE USER beryl IDENTIFIED BY "123456";

这里的beryl是新创建用户名,123456是对应的口令。
我们再次列出用户账号的时候,可以在输出中看到新账号。
在这里插入图片描述
我们也可以重新命名用户账号。

RENAME USER beryl TO reberyl;

删除用户账号

DROP USER reberyl;

设置访问权限

我们可以输入下面语句查看用户账号的权限。

SHOW GRANTS FOR beryl;

在这里插入图片描述
这里的结果表示没有任何权限。
我们可以使用GRANT语句设置权限(grant是准许的意思)。GRANT要求至少给出以下信息:
1.要授予的权限
2.被授予访问权限的数据库或者表
3.用户名

更改口令

ALTER USER 'beryl'@'%' IDENTIFIED BY 'MyNewPass@123'; 

MySQL8.0版本更改口令的方式好像和之前的不太一样。

写在后面的小建议:

  1. SQL语句不区分大小写,但是许多SQL开发人员喜欢对所有的SQL关键字使用大写,对所有的列和表名使用小写,这样做使代码更易于阅读和调试
  2. 使用mysql命令行,必须加上分号来结束SQL语句。

本篇博文参考来源:
菜鸟教程
一个简单数据库设计例子
《MySQL必知必会》Ben Forta 著

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值