1.5 Mysql基础知识
MySQL是最为流行的开源关系型数据库,功能强大且小巧,应用广泛,尤其是十分适合做web开发。
1. 连接MySQL服务器
输入用户名
root,密码***
$ mysql -u root -p
Enter password: *****
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 11
Server version: 5.7.21-log MySQL Community Server (GPL)
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>2. 查询当前服务器上有哪些数据库
可以看出本服务器上存储的数据库文件有8个,其中django与demo是我们使用Navicat图形化工具创建的数据库。
3. 连接到其中一个数据库django中
django中4. 查询当前数据库django中有哪些数据表
django中有哪些数据表其中firstapp_article,firstapp_book,firstapp_book_authors与firstapp_userprofile均是自定义的Django自动使用Models模型创建的数据表。
5. 查看数据表详情
查询数据表firstapp_article的全部字段与记录。可以看出字段有id,title,content,create_time,like_counts,score和author_id。每条记录里均有这些字段的定义。
如果创建了一张数据表,未更新数据时,里面表是空的,可以通过以下命令来查询这个表有哪些字段。
6. 使用SQL语句创建用户账号并添加权限
添加账号命令格式如下,注意
允许IP与密码是有单引号的。
如使用root用户创建一个名为marco,密码为root的账号:
设置用户权限命令格式如下。
如,本例中给新建的账号marco对所有数据库中的所有数据表添加全部权限。
7. SQL语句删除用户。
其格式为:
8. 使用SQL语句创建数据库
其格式如下(建议分下面三行创建,更清晰理解),注意utf-8与utf8_general_ci是有单引号的:
如下面的例子中新创建一个名为django_test的数据库。
9. 删除数据库
其格式为:
如下面的例子中删除新创建的数据库django_test.
10. 为数据库database添加数据表table
database添加数据表table10.1 方法1:进入数据库直接添加
以下例子中我们将在 django_test数据库中创建数据表article_test:
实例解析:
如果不想字段为 NULL 可以设置字段的属性为 NOT NULL, 在操作数据库时如果输入该字段的数据为
NULL,就会报错。AUTO_INCREMENT定义列为自增的属性,一般用于主键,数值会自动加1。PRIMARY KEY关键字用于定义列为主键。 您可以使用多列来定义主键,列间以逗号分隔。ENGINE设置存储引擎,CHARSET设置编码。
实例演示结果:
10.2 方法2:指定数据库database添加数据表table
database添加数据表table以下例子中我们将在 django_test数据库中创建数据表article_test:
实例演示结果:
11. 对数据库中的数据表进行增删该查操作
数据库的常见的四种操作即是:增、删、改、查
11.1 向表中插入新数据:增
语法
以下为向MySQL数据表插入数据通用的 INSERT INTO SQL语法:
如果数据是字符型,必须使用单引号或者双引号,如:"value"。
以下我们将使用 SQL INSERT INTO 语句向 MySQL 数据表 article_test插入数据
实例
以下实例中我们将向 article_test表插入三条数据:
注意: 使用箭头标记 -> 不是 SQL 语句的一部分,它仅仅表示一个新行,如果一条SQL语句太长,我们可以通过回车键来创建一个新行来编写 SQL 语句,SQL 语句的命令结束符为分号 ;。
11.2 对表中删除数据:删
语法
以下是DELETE命令删除 MySQL 数据表数据的通用 SQL 语法:
如果没有指定 WHERE 子句,MySQL 表中的所有记录将被删除。
可以在 WHERE 子句中指定任何条件。
可以在单个表中一次性删除记录。
以下我们将在 SQL DELETE 命令来删除 article_test表中指定的数据:
实例
以下实例将删除数据表中 article_id为 1 的 记录:
11.3 向表中更新数据:改
语法
以下是 UPDATE命令修改 MySQL 数据表数据的通用 SQL 语法:
你可以同时更新一个或多个字段。
你可以在 WHERE 子句中指定任何条件。
你可以在一个单独表中同时更新数据。
当你需要更新数据表中指定行的数据时 WHERE 子句是非常有用的。
以下我们将在 SQL UPDATE 命令使用WHERE 子句来更新 article_test表中指定的数据:
实例
以下实例将更新数据表中 article_id为 1 的 article_title与与article_author字段值:
从结果上看,第一条记录的两个字段已经被成功修改。
11.4 查询数据表中的数据:查
语法
以下是 SELECT命令查询 MySQL 数据表数据的通用 SQL 语法:
查询语句中你可以使用一个或者多个表,表之间使用逗号(,)分割,并使用WHERE语句来设定查询条件。
SELECT 命令可以读取一条或者多条记录。
你可以使用星号(*)来代替其他字段,SELECT语句会返回表的所有字段数据
你可以使用 WHERE 语句来包含任何条件。
你可以使用 LIMIT 属性来设定返回的记录数。
你可以通过OFFSET指定SELECT语句开始查询的数据偏移量。默认情况下偏移量为0。
以下我们将在 SQL SELECT 命令使用WHERE 子句来查询表中指定的数据:
实例
以下实例将查询id为3的article_test数据表的记录:
查询article_test数据表的所有记录:
11.5 使用ORDER BY对数据进行排序
ORDER BY对数据进行排序语法
以下是 SQL SELECT 语句使用 ORDER BY 子句将查询数据排序后再返回数据 :
可以使用任何字段来作为排序的条件,从而返回排序后的查询结果。
可以设定多个字段来排序。
可以使用
ASC(Ascending)或DESC(Descending )关键字来设置查询结果是按升序或降序排列。 默认情况下,它是按升序排列。可以添加
WHERE...LIKE子句来设置条件。
注意:ORDER BY后面的字段必须跟的int型或者date型数据。
以下我们将使用 SQL ORDER BY 命令查询表中数据并进行排序:
实例
以下示例将按照时间先后进行顺序排序。
Last updated