当前位置: 首页 > 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

DDL(Data Definition Language)语句: 数据定义语言,主要是进行定义/改变表的结构、数据类型、表之间的链接等操作。常用的语句关键字有 CREATE、DROP、ALTER 等。

数据库

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;

相关文章:

  • Linux 安装指南
  • 驰骋BPM RunSQL_Init接口SQL注入漏洞复现 [附POC]
  • ArcGIS基础:自定义创建点线面等样式符号以方便使用
  • MySQL笔记(八):事务
  • 项目功能点
  • 服务器磁盘扩容
  • [算法题]火星词典
  • Mysql-窗口函数二
  • 图的拓扑排序
  • RabbitMQ如何保证可靠性
  • 文档控件DevExpress Office File API v24.1 - 支持基于Unix系统的打印
  • 正则表达式扩展应用
  • Linux/C 高级——shell脚本
  • elasticsearch教程
  • 学习记录——day28 信号量集
  • 002-读书笔记-JavaScript高级程序设计 在HTML中使用JavaScript
  • android高仿小视频、应用锁、3种存储库、QQ小红点动画、仿支付宝图表等源码...
  • magento 货币换算
  • Python代码面试必读 - Data Structures and Algorithms in Python
  • Terraform入门 - 1. 安装Terraform
  • Vue UI框架库开发介绍
  • vue-router 实现分析
  • Work@Alibaba 阿里巴巴的企业应用构建之路
  • 百度贴吧爬虫node+vue baidu_tieba_crawler
  • 编写高质量JavaScript代码之并发
  • 今年的LC3大会没了?
  • 聚类分析——Kmeans
  • 马上搞懂 GeoJSON
  • 如何用Ubuntu和Xen来设置Kubernetes?
  • 树莓派 - 使用须知
  • 线上 python http server profile 实践
  • 一个6年java程序员的工作感悟,写给还在迷茫的你
  • 职业生涯 一个六年开发经验的女程序员的心声。
  • elasticsearch-head插件安装
  • ​DB-Engines 12月数据库排名: PostgreSQL有望获得「2020年度数据库」荣誉?
  • ​香农与信息论三大定律
  • # Kafka_深入探秘者(2):kafka 生产者
  • # 学号 2017-2018-20172309 《程序设计与数据结构》实验三报告
  • #控制台大学课堂点名问题_课堂随机点名
  • (2.2w字)前端单元测试之Jest详解篇
  • (done) ROC曲线 和 AUC值 分别是什么?
  • (TOJ2804)Even? Odd?
  • (安卓)跳转应用市场APP详情页的方式
  • (补)B+树一些思想
  • (附源码)apringboot计算机专业大学生就业指南 毕业设计061355
  • (蓝桥杯每日一题)平方末尾及补充(常用的字符串函数功能)
  • (三) prometheus + grafana + alertmanager 配置Redis监控
  • (生成器)yield与(迭代器)generator
  • (算法)区间调度问题
  • (五)activiti-modeler 编辑器初步优化
  • (一)插入排序
  • .net 获取某一天 在当月是 第几周 函数
  • .netcore 获取appsettings
  • .NET的数据绑定
  • .project文件