当前位置: 首页 > news >正文

MySQL1 DDL语言

安装与配置

官网:

MySQL :: Download MySQL Installer

阿里云:

MySQL8 https://www.alipan.com/s/auhN4pTqpRp 点击链接保存,或者复制本段内容,打开「阿里云盘」APP ,无需下载极速在线查看,视频原画倍速播放。

1.将解压文件解压到你安装的目录:E:\mysql-8.0.11-winx64 不要放在有中文名字和空格的的目录下.例如

在这里插入图片描述

2.在mysql-8.0.11-winx64文件夹下面新建一个my.ini文件和一个data文件夹,配置初始化的my.ini文件的文件,并写入基本配置

在这里插入图片描述

myini文件内容:

[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=C:\Program Files\MySQL
# 设置mysql数据库的数据的存放目录
datadir=C:\Program Files\MySQL\Data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。
max_connect_errors=10
# 服务端使用的字符集默认为utf8mb4
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
#mysql_native_password
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8mb4

注意:配置文件中的路径要和实际存放的路径一致,注意路径的反斜杠要改成斜杠

初始化MySQL:

在安装时,避免出错我们尽量全部使用管理员身份运行CMD,否则在安装时会报错,会导致安装失败的情况

在这里插入图片描述

3.进入mysql的bin目录

在这里插入图片描述

4.在MySQL目录下的bin目录下执行命令:

mysqld --initialize --console

在这里插入图片描述

5.安装mysql服务

安装mysql服务(注意,一定要是管理员权限)

执行下面的命令:

进入DOS命令后,对MySQL服务器开启或暂停操作

net stop 服务名称(mysql);
net start 服务名称(mysql);
mysqld --install [服务名](服务名可以不加默认为mysql)

在这里插入图片描述

成功了!

成功后有个标识,右键此电脑-服务-计算机管理 -服务和应用程序

在这里插入图片描述

6.启动MySQL 服务

服务安装成功之后通过命令net start mysql启动MySQL的服务

在这里插入图片描述

7.修改密码

mysql的bin目录下 进行数据库连接 mysql -u root -p

再输入密码 回车

有了mysql> 这个的时候 你就可以去改密码了!

在这里插入图片描述

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

8.密码修改成功后

exit;(退出mysql)

在这里插入图片描述
在这里插入图片描述

连接MySQL

相信大家都有的Navicat,小海豚等数据库图形化工具

在这里插入图片描述

OK了

MySQL语法:

SQL-DDL

数据库

1.创建数据库

直接创建:CREATE DATABASE 数据库名;

CREATE DATABASE db1;

如果不存在则创建:CREATE DATABASE IF NOT EXISTS 数据库名;

CREATE DATABASE if NOT EXISTS db2;

创建数据库时并设置字符集:CREATE DATABASE 数据库名 CHARACTER SET 字符集;

CREATE DATABASE db3 CHARACTER SET GBK;
2.查看数据库

查看所有的数据库:SHOW DATABASES;

SHOW DATABASES;

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

SHOW CREATE DATABASE db3;

查看正在使用的数据库:SELECT DATABASE();

SELECT DATABASE();

切换数据库: use 数据库名;

USE db1;
3.修改

修改数据库字符集:ALTER DATABASE 数据库名 DEFAULT CHARACTER SET 字符集;

ALTER DATABASE db3 DEFAULT CHARACTER SET UTF8MB4;
4.删除

删除数据库 DROP DATABASE 数据库名;

DROP DATABASE db3;

数据库中的表管理

1.创建表

CREATE TABLE [IF NOT EXISTS]表名( 字段名1 字段类型, 字段名2 字段类型, 字段名3 字段类型 );

CREATE TABLE student(
sno INT,
sname VARCHAR(10),
sgender CHAR(1),
birthday date
);

根据某个旧表的结构,创建一个新表:CREATE TABLE 新表名 LIKE 旧表名;

-- 复制表,只复制表结构
CREATE TABLE student3 LIKE student2;

复制某个表中的所有的信息,包含数据 :CREATE TABLE 新表名 查询语句;

-- 复制表,包含表中的数据student
CREATE TABLE student4 SELECT * FROM student2;
2.查找

查看某个数据库中的所有的表:SHOW TABLES;

SHOW TABLES;

查看某个表的结构信息:DESC 表名;

DESC stu;

查看某个表的创建SQL语句 : SHOW CREATE TABLE 表名;

-- 查看表的创建信息
SHOW CREATE TABLE stu;
3.修改

给表中新增一列:ALTER TABLE 表名 ADD 列名 类型(长度);

-- 为已经存在的表添加新列
ALTER TABLE student2 ADD birthday DATE;

修改已经存在的列的数据类型:ALTER TABLE 表名 MODIFY 列名 新数据类型;

-- 修改已经存在的列的数据类型
ALTER TABLE student2 MODIFY sname VARCHAR(20);

修改列名:ALTER TABLE 表名 CHANGE 旧列名 新列名 类型;

-- 修改列名
ALTER TABLE student2 CHANGE sgender gender CHAR(1);

删除列:ALTER TABLE 表名 DROP 列名;

-- 删除列
ALTER TABLE student2 DROP birthday;

修改表名:RENAME TABLE 表名 TO 新表名;

-- 修改表名
RENAME TABLE student2 TO stu;

修改字符集: ALTER TABLE 表名 character set 字符集;

-- 修改表的字符集
ALTER TABLE stu CHARACTER SET GBK;
4.删除

直接删除表: DROP TABLE 表名;

DROP TABLE copy_emp;

先判断是否存在再删除: DROP TABLE IF EXISTS 表名;

--  判断表是否存在,如果不存在则删除
DROP TABLE if EXISTS  student4;
5.截断表

TRUNCATE 【TABLE】 表名 ;删除表和表中的数据,重新创建的表和原来的表的结构一样

TRUNCATE TABLE copy_emp;

SQL-DML

1.添加数据

--添加数据,单行添加部分列
INSERT INTO  dept(deptno,dname) VALUES (1,'设计部');
INSERT INTO  dept(deptno,dname) VALUES (2,'研发部');--添加数据,单行添加所有列
INSERT INTO  dept(deptno,dname,location) VALUES (3,'研发部','西安');
INSERT INTO  dept(deptno,dname,location) VALUES (4,'研发部',NULL);
INSERT INTO  dept VALUES (5,'研发部',NULL);-- 添加多行数据
INSERT INTO `dept` VALUES(6,'测试部','上海'),(7,'人事部','武汉');
http://www.lryc.cn/news/416173.html

相关文章:

  • el-tree懒加载状态下实现搜索筛选(纯前端)
  • NLP——Transfromer 架构详解
  • 大模型算法面试题(二十)
  • 2024最新最全面的Selenium 3.0 + Python自动化测试框架
  • 海运中的甩柜是怎么回事❓怎么才能避免❓
  • Win11+docker+gpu+vscode+pytorch配置anomalib(2)
  • AI在招聘市场趋势分析中的应用
  • AMEYA360:太阳诱电应对 165℃的叠层金属类功率电感器实现商品化!
  • Nginx进阶-常见配置(三)
  • 开源协作式书签管理器推荐
  • 【线性代数】【二】2.2极大线性无关组与向量空间的基
  • STM32常见的下载方式有三种
  • RK3568-npu模型转换推理
  • 《C语言程序设计 第4版》笔记和代码 第十二章 数据体和数据结构基础
  • 学习记录——day26 进程间的通信 无名管道 无名管道 信号通信 特殊的信号处理
  • WHAT - xmlhttprequest vs fetch vs wretch
  • 吴恩达老师机器学习作业-ex7(聚类)
  • lombok 驼峰命名缺陷,导致后台获取参数为null的解决办法
  • 【dockerpython】亲测有效!适合新手!docker创建conda镜像+容器使用(挂载、端口映射、gpu使用)+云镜像仓库教程
  • 矩阵,求矩阵秩、逆矩阵
  • 指针和const
  • 基于C#调用文心一言大模型制作桌面软件(可改装接口)
  • VScode插件安装
  • 《Milvus Cloud向量数据库指南》——高可用黄金标准:深入解析与业务策略考量
  • sqli-labs注入练习1,2关
  • B站宋红康JAVA基础视频教程个人笔记chapter04
  • 关于java枚举为什么可以拿来当单例实现这件事看看ikun怎么说
  • Hugging Face下载模型
  • JVM-垃圾回收
  • 8.C基础_指针基础