MYSQL基础语法

这篇文章介绍了SQL的基础知识,包括SQL的概念,作为结构化查询语言在数据库交互中的作用。文章详细讲解了SQL的分类,如DDL(数据定义语言)、DML(数据操作语言)等,并通过实例展示了如何在MySQL中创建、查看和删除数据库。此外,还提到了表的创建以及SQL语句的书写规范和注释方式。
摘要由CSDN通过智能技术生成

MYSQL基础语法

提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加
例如:第一章 Python 机器学习入门之pandas的使用


提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档


1、SQL的概念

1.1 什么是sql

当面对一个陌生的数据库时,通常需要一种方式与它进行交互,以完成用户所需要的各种工作,这个时候,就要用到 SQL 语言了。
SQL 是 Structure Query Language(结构化查询语言)的缩写,它是使用关系模型的数据库应用语言,由 IBM 在 20 世纪 70 年代开发出来,作为 IBM 关系数据库原型 System R 的原型关系语言,实现了关系数据库中的信息检索。
20 世纪 80 年代初,美国国家标准局(ANSI)开始着手制定 SQL 标准,最早的 ANSI 标准于1986 年完成,就被叫作 SQL-86。标准的出台使 SQL 作为标准关系数据库语言的地位得到了加强。SQL 标准目前已几经修改更趋完善。
正是由于 SQL 语言的标准化,所以大多数关系型数据库系统都支持 SQL 语言,它已经发展成为多种平台进行交互操作的底层会话语言。

提示:结构化查询语言(Structured Query Language)简称SQL,SQL语句就是对数据库进行操作的一种语言。


1.2 SQL 使用入门

这里用了(My)SQL 这样的标题,目的是在介绍标准 SQL 的同时,也将一些 MySQL 在标准 SQL上的扩展一同介绍给大家。希望读者看完本节后,能够对标准 SQL 的基本语法和 MySQL 的部分扩展语法有所了解。

1.2.1 SQL 分类

SQL 语句主要可以划分为以下 5 个类别。

  1. DDL(Data Definition Language)数据定义语言 用来定义数据库对象:数据库,表,列等。关键字:create,drop,alter等
  2. DML(Data Manipulation Language)数据操作语言 用来对数据库中表的数据进行增删改。关键字:insert,delete, update,select(本文单独归类DQL)等
  3. DQL(Data Query Language) 数据查询语言 (掌握)DQL语言并不是属于MYSQL官方的分类,但是对数据库的操作最多就是查询,所以我们的程序员把查询语句的语句称作为DQL语言()
  4. DCL(Data Control Language)数据控制语言(了解)用来定义数据库的访问权限和安全级别,及创建用户。关键字:GRANT, REVOKE等
  5. TCL(Transaction Control Language) 事务控制语言用于控制数据库的事务操作,关键字; COMMIT,SAVEPOINT,ROLLBACK等

提示:其中最重要的为DML语言和DQL语言
1 SQL语句可以单行或多行书写,以分号结尾。
2 可使用空格和缩进来增强语句的可读性。
3 MySQL数据库的SQL语句不区分大小写,关键字建议使用大写。
3. 3种注释 单行注释: – 注释内容 或 # 注释内容(mysql特有) 多行注释: /* 注释 */

     SELECT * FROM user; 
     -- 这是单行注释
     # 单行注释
     /* 
     	多行注释
     	多行注释
     	多行注释
   	*/

2. sql的实际运用

2.1 DDL 语句

2.1.1 DDL操作数据库

启动 MySQL 服务之后,输入以下命令连接到 MySQL 服务器:

PS C:\Users\RunTu> mysql -uroot -p
Enter password: ****
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 103
Server version: 5.7.27 MySQL Community Server (GPL)

Copyright (c) 2000, 2019, 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>

在以上命令行中,mysql 代表客户端命令,-u 后面跟连接的数据库用户,-p 表示需要输入密码。
如果数据库设置正常,并输入正确的密码,将看到上面一段欢迎界面和一个 mysql>提示符。
在欢迎界面中介绍了以下几部分内容。

  • 命令的结束符,用 ; 或者\g 结束。
  • 客户端的连接 ID,这个数字记录了 MySQL 服务到目前为止的连接次数,每个新连接都会自动加 1,本例中是 7344941。
  • MySQL 服务器的版本,本例中是“5.1.9-beta-log”,说明是 5.1.9 的测试版,如果是标准版,则会用 Standard代替 Beta。
  • 通过“help;”或者“\h”命令来显示帮助内容,通过“\c”命令来清除命令行 buffer。 在
    mysql>提示符后面输入所要执行的的 SQL 语句,每个 SQL 语句以分号或者\g 结束,按回车键执行。

因为所有的数据都存储在数据库中,因此需要学习的第一个命令是创建数据库,语法如下所示:

1.创建数据库
  1. 直接创建数据库 CREATE DATABASE 数据库名;
  2. 具体操作:直接创建数据库db1
create datebase db1
Query OK, 1 row affected (0.00 sec)

可以发现,执行完创建命令后,下面有一行提示“Query OK, 1 row affected (0.00 sec)”,这段提示可以分为 3 部分,“Query OK”表示上面的命令执行成功,读者可能奇怪,又不是执行查询操作,为什么显示查询成功?其实这是 MySQL 的一个特点,所有的 DDL 和 DML(不包括 SELECT)操作执行成功后都显示“Query OK”,这里理解为执行成功就可以了;“1 row affected”表示操作只影响了数据库中一行的记录,“0.00 sec”则记录了操作执行的时间。
如果已经存在这个数据库,系统会提示:

mysql> create database db1;
ERROR 1007 (HY000): Can't create database 'db1'; database exists
2.查看所有的数据库

SHOW databases;

mysql> show databases;
+---------------------+
| Database            |
+---------------------+
| information_schema  |
| db1                 |
| mysql               |
| nacos-config        |
| performance_schema  |
| sys                 |
| test1               |
+---------------------+
7 rows in set (0.00 sec)

**查看某个数据库的定义信息 **
SHOW CREATE DATABASE 数据库名;

mysql> show create  database db1;
+----------+--------------------------------------------------------------+
| Database | Create Database                                              |
+----------+--------------------------------------------------------------+
| db1      | CREATE DATABASE `db1` /*!40100 DEFAULT CHARACTER SET utf8 */ |
+----------+--------------------------------------------------------------+
1 row in set (0.00 sec)

使用数据库

  1. 查看正在使用的数据库 SELECT DATABASE(); 2. 使用/切换数据库 USE 数据库名;
    具体操作:
    查看正在使用的数据库
mysql> select database();
+------------+
| database() |
+------------+
| NULL       |
+------------+
1 row in set (0.00 sec)
---

使用db1数据库
使用前先创建

mysql> create database db1;
Query OK, 1 row affected (0.00 sec)

mysql> use db1;
Database changed
mysql> select database();
+------------+
| database() |
+------------+
| db1        |
+------------+
1 row in set (0.00 sec)
3.删除数据库

DROP DATABASE 数据库名;
具体操作:
删除db1数据库

mysql> drop database db1;
Query OK, 0 rows affected (0.01 sec)

此时再查看数据库show databases 已经不存在

mysql> show databases;
+---------------------+
| Database            |
+---------------------+
| information_schema  |
| mysql               |
| nacos-config        |
| performance_schema  |
| sys                 |
| test1               |
+---------------------+
6 rows in set (0.00 sec)

2.1.2 DDL操作表

1.在数据库中创建一张表的基本语法如下:
CREATE TABLE tablename (column_name_1 column_type_1 constraints,
column_name_2 column_type_2 constraints , ……column_name_n column_type_n 
constraints)

因为 MySQL 的表名是以目录的形式存在于磁盘上,所以表名的字符可以用任何目录名允许的字符。column_name 是列的名字,column_type 是列的数据类型,contraints 是这个列的约束条件,在后面的章节中会详细介绍。
例如,创建一个名称为 emp 的表。表中包括 3 个字段,ename(姓名),hiredate(雇用日期)、sal(薪水),字段类型分别为 varchar(10)、date、int(2)(关于字段类型将会在下一章中介绍):

总结

提示:这里对文章进行总结:

例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值