MySQL 基本操作教程:连接MySQL 与 DDL操作

一、安装mysql

二、连接到 MySQL

如果是使用图形化管理工具,请按图示填写

如果是使用终端,输入以下命令后,输入安装数据库时创建的密码

mysql -u root -p

三、DDL基本操作

关于数据库的sql操作

[]里面的是可选参数

-- 查看所有的数据库
show databases;
-- 创建数据库
create database [if not exists] mydb [charset=utf8];
-- 切换数据库
use mydb;
-- 删除数据库
drop database [if exists] mydb;
--修改数据库编码(默认是utf8)
alter database mydb character set utf8

关于表的sql操作

--创建表
creat table [if not exists] 表名(
    字段名1 类型[(宽度)] [约束条件] [conment '字段说明'],
    字段名2 类型[(宽度)] [约束条件] [conment '字段说明'],
    字段名3 类型[(宽度)] [约束条件] [conment '字段说明']
)[表的一些设置]

创建表只是创建一张空表。至少是指定这个表的名字、列名、存储的数据类型。

比较常用的数据类型(主要区别是类型以及存储大小)

注意:存储多少内容就多大。比如对于姓名,你设置的是varchar(20),但是你存入的是'张三',设置20字节,实际使用2字节。

  • 数值类型 tinyint / int / double
  • 字符串类型 varchar
  • 日期类型 date(‘YYYY-MM-DD') / time('HH:MM:SS' ) / year('YYYY') /

                        datetime('YYYY-MM-DD HH:MM:SS') / timestamp('YYYYMMDD HHMMSS')

--创建最简单的表,首先需要先选择数据库
use mydb;
create table if not exists student(
    id int,
    name varchar(20),
    gender varchar(20),
    age int,
    birth date,
    address varchar(20)
);

解析复杂创建表的语句

CREATE TABLE `student` (
    `sid` INT DEFAULT NULL,
    `name` VARCHAR(20) DEFAULT NULL,
    `gender` VARCHAR(10) DEFAULT NULL,
    `age` INT DEFAULT NULL,
    `birth` DATE DEFAULT NULL,
    `address` VARCHAR(20) DEFAULT NULL,
    `score` DOUBLE DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3;

存储引擎(详细内容查看数据库的引擎选择(InnoDB、MyISAM、Memory)-CSDN博客

ENGINE=InnoDB:指定表使用的存储引擎。InnoDB 是一种常用的存储引擎,支持事务、外键约束和行级锁。

约束条件 (详细内容后续发文)

DEFAULT NULL 表示如果没有提供值,默认会是 NULL

DEFAULT CHARSET=utf8mb3:指定表的默认字符集为 utf8mb3,这是一个支持多种语言字符的 UTF-8 编码。

--查看当前数据库所有的表
show tables;
--查看指定表的创建语句
show create table student;
--查看表结构
desc student;
--删除表
drop table student;

在 MySQL 中,修改表结构可以通过 ALTER TABLE 语句来实现。使用 ALTER TABLE 可以进行以下几种操作:

  1. 添加列 (ADD COLUMN)

  2. 删除列 (DROP COLUMN)

  3. 修改列 (MODIFY COLUMN)

  4. 重命名列 (CHANGE COLUMN)

  5. 重命名表 (RENAME TO)

  6. 修改表的其他属性(例如修改表引擎或字符集)

-- 修改表结构
-- 添加列 alter table 表名 add 列名 类型(长度) [约束];
    -- 为student表添加一个新的字段为:dept 类型为varchar(20)
    alter table student ad   dept varchar(20);

-- 修改列名和类型 alter table 表名 change 旧列名 新列名 类型(长度) [约束];
    -- 为student类的dept字段更换为department varchar(30)
    alter table student change dept department varchar(30);

-- 修改表删除列 alter table 表名 drop 列名;
    --删除student类中department这列
    alter table student drop department;

-- 修改表名 rename table 表名 to 新表名;
    --将student表的名字改为stu
    rename table student to stu;

-- 修改表引擎或字符集
    ALTER TABLE student ENGINE=InnoDB;
    ALTER TABLE student DEFAULT CHARSET=utf8mb4;

 注意:CHANGE COLUMN 需要提供原列名新列名,即使新列名与原列名相同。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值