首页 > 数据库 >2-SQL

2-SQL

时间:2023-04-22 17:46:17浏览次数:29  
标签:itcast database 数据库 SQL mysql create

1. SQL

全称 Structured Query Language,结构化查询语言。操作关系型数据库的编程语言,定义了 一套操作关系型数据库统一标准 。

2. SQL 通用语法

1). SQL 语句可以单行或多行书写,以分号结尾。

2). SQL 语句可以使用空格/缩进来增强语句的可读性。

3). MySQL 数据库的 SQL 语句不区分大小写,关键字建议使用大写。

4). 注释:

单行注释:-- 注释内容 或 # 注释内容

多行注释:/_ 注释内容 _/

3. SQL 分类

SQL 语句,根据其功能,主要分为四类:DDL、DML、DQL、DCL。

分类 全称 说明
DDL Data Definition Language 数据定义语言,用来定义数据库对象(数据库,表, 字段)
DML Data Manipulation Language 数据操作语言,用来对数据库表中的数据进行增删改
DQL Data Query Language 数据查询语言,用来查询数据库中表的记录
DCL Data Control Language 数据控制语言,用来创建数据库用户、控制数据库的 访问权限

4. DDL

Data Definition Language,数据定义语言,用来定义数据库对象(数据库,表,字段) 。

4.1 数据库操作

查询所有数据

语法:

show databases;

结果显示

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| student            |
| sys                |
+--------------------+
5 rows in set (0.02 sec)

查询当前数据库

语法:

select database();

结果显示

mysql> select database();
+------------+
| database() |
+------------+
| student    |
+------------+
1 row in set (0.00 sec)

创建数据库

语法:

create database [ if not exists ] 数据库名 [ default charset 字符集 ] [ collate 排序规则 ] ;

案例:

创建一个 itcast 数据库, 使用数据库默认的字符集。

create database itcast;

结果显示

mysql> create database itcast;
Query OK, 1 row affected (0.01 sec)

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

在同一个数据库服务器中,不能创建两个名称相同的数据库,否则将会报错。(也就是同一个数据库创建两遍会报错)

报错的结果显示

mysql> create database itcast;
ERROR 1007 (HY000): Can't create database 'itcast'; database exists
mysql> create database if not exists itcast;

可以通过 if not exists 参数来解决这个问题,数据库不存在, 则创建该数据库,如果存在,则不创建。

语法:

 create database if not extists itcast;

使用结果显示

mysql> create database if not exists itcast;
Query OK, 1 row affected, 1 warning (0.00 sec)

创建一个 north 数据库,并且指定字符集

语法:

 create database north default charset utf8mb4 ;

结果显示

mysql> create database north default charset utf8mb4
    -> ;
Query OK, 1 row affected (0.00 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| itcast             |
| mysql              |
| north              |
| performance_schema |
| student            |
| sys                |
+--------------------+
7 rows in set (0.00 sec)

删除数据库

语法:

drop database [ if exists ] 数据库名 ;

如果删除一个不存在的数据库,将会报错。此时,可以加上参数 if exists ,如果数据库存在,再 执行删除,否则不执行删除。

结果显示

mysql> drop database if exists north;
Query OK, 0 rows affected (0.02 sec)

image-20230422173017680

切换数据库

语法:

use 数据库名;

我们要操作某一个数据库下的表时,就需要通过该指令,切换到对应的数据库下,否则是不能操作的。 比如,切换到 itcast 数据,执行如下 SQL:

use itcast;

结果显示

mysql> use itcast
Database changed

标签:itcast,database,数据库,SQL,mysql,create
From: https://www.cnblogs.com/NorthPoet/p/17343567.html

相关文章

  • docker部署mysql主从数据库
    一、mysql主库搭建1.1.14.xx.216作为mysql-master主库2.创建挂载数据目录mkdir-p/docker_v/mysql-master/{logs,conf,data}chmod777-R/docker_v/mysql-master/3.拉取镜像mysql:5.7并开放3306端口dockerpullmysql:5.74.在conf目录下创建文件my.cnf[mysqld]##设置se......
  • 1-MySQL概述
    1.数据库相关概念数据库,数据库管理系统,SQL名称全称简称数据库存储数据的仓库,数据是有组织的进行存储DataBase(DB)数据库管理系统操纵和管理数据库的大型软件DataBaseManagementSystem(DBMS)SQL操作关系型数据库的编程语言,定义了一套操作关系型数据......
  • ctfhub--SQL
    CTFHUB-SQL注入**一、SQl注入的基础1.介绍SQL注入SQL注入就是指WEB应用程序对用户输入数据的合法性没有判断,前端传入后端的参数是攻击者可控的,并且参数代入数据库查询,攻击者可以通过构造不同的SQL语句来是实现对数据库的任意操作。一般情况下,开发人员可以使用动态SQL语句创建......
  • SQL纯基础
    数据库结构常用函数和语句database():当前数据库名user():当前用户名version():当前数据库版本注释符:#,--+(''),information.schema:在MySql5.0版本之后,会默认在数据库中存放一个“information_schema”的数据库,在此库中需要记住三个表名,分别是SCHEMATA、TABLES、COLU......
  • mysql如何创建数据库?
    创建数据库的命令格式:createdatabase数据库名称;通过按键盘上的【win】+【S】键执行搜索功能,在搜索框中输入“cmd”然后点击【以管理员身份运行】,如下图所示。     在cmd中输入“netstartmysql80”,并按下【enter】回车键,启动MySQL服务器,如下图所示。......
  • Mac连接Windows上的mysql服务器
    1、关闭Windows的防火墙2、在Windows上新建入站规则,允许访问3306端口  一直下一步,完成设置3、在Windows上更新mysql的root用户的host为'%'selecthost,userfromuser;updateusersethost='%'whereuser='root';flushprivileges; 4、在MAC上连接Windows上......
  • SQL2000修改sa密码时提示【错误2812:未能找到储存过程’sp_passwoed’】的解决方法
    1.在用SQL2000数据库经常会遇见忘记sa密码,需要修改sa密码,但是有时候修改sa密码时会提示  错误2812:未能找到储存过程’sp_passwoed’2.遇到这种情况的解决方法是:打开开始菜单,找到SQLServer的程序组,选择运行程序组中的“查询分析器”,打开 3.打开“查询分析器”后会有一个......
  • Windows10上安装mysql 8.0|mysql 8.0安装教程
    1、下载适合自己操作系统的mysql安装文件,解压就可直接用  下载地址:https://dev.mysql.com/downloads/mysql/ 2、解压压缩包,目录结构如下。解压后的压缩包里没有my.ini文件和data文件夹,my.ini可以自己手动建,但是data文件夹千万不可手动创建3、新建my.ini文件并添加最简配......
  • MySQL 时间类型 date、datetime 和 timestamp 的用法与区别
    时间范围datetime和timestamp区别时间范围不一样,TIMESTAMP要小很多,且最大范围为2038-01-1903:14:07.999999,到期也不远了。datetime与时区无关、timestamp与时区有关。对于timestamp,它把客户端插入的时间从当前时区转化为UTC(世界标准时间)进行存储。查询时,将其又转化为客户......
  • SQL注入,命令注入,文件操作
    SQLInjection:是一种常见的Web安全漏洞,gongji者利用这个漏洞,可以访问或修改数据,或者利用潜在的数据库漏洞进行gongji所谓的万能密码:本质上就是SQL注入的一种利用方式一次SQL注入的过程:1.获取用户请求参数         2.拼接到代码当中3.SQL语句按照我们构造参数的语......