MySQL数据库数据定义语言DDL

MySQL数据库与数据表操作

数据库的操作

1.数据库的创建

  • if not exist防止覆盖
  • 要设置默认的编码格式
# 链接mysql数据库后,进入mysql后可以操作数据 
# 1. 创建库
create database if not exists giao default charset=utf8;
-- 1. 数据库 tlxy 如果不存在则创建数据库,存在则不创建
-- 2. 创建 tlxy 数据库,并设置字符集为utf8 
-- 3. 无特殊情况都要求字符集为utf8或者utf8mb4的字符编码

2.查看所有库

# 1. 查看所有库 
show databases;

3.打开库/进入库/选择

# use 库名
use tlxy

4.删除库

# 删除库,那么库中的所有数据都将在磁盘中删除。
drop database 库名

数据表的操作

1.创建表

语法格式:

create table 表名(字段名,类型,【字段约束】,。。。);

实例

# 以下创建一个 users 的表 
create table users( 
    -- 创建ID字段,为正整数,不允许为空 主键,自动递增
    id int unsigned not null primary key auto_increment,
    -- 创建 存储 名字的字段,为字符串类型,最大长度 5个字符,不允许为空
    username varchar(5) not null, 
    -- 创建存储 密码 的字段,固定长度 32位字符, 不允许为空 
    password char(32) not null,
    -- 创建 年龄 字段,不允许为空,默认值为
    20 age tinyint not null default 20 
)engine=innodb default charset=utf8;

# 查看表结构 
desc users;
#查看建表语句 
show create table users;

创建表的基本原则:

  • 表明和字段名 尽可能的符合命名规范,并且最好能够‘见名之意’

  • 表中数据必须有唯一标示,即主键定义。无特殊情况,主键都为数字并自增即可

  • 表中字段所对应的类型设置合理,并限制合理长度

  • 表引擎推荐使用innodb,并无特殊情况都要求为utf8或者utf8mb4的字符编码

2.修改表结构

语法格式: alter table 表名 change|modify 被修改的字段信息 change: 可以修改字段名, modify: 不能修改字段名。

添加字段

# 修改表中的 num 字段 类型,使用 modify 不修改表名 
alter table users modify num tinyint not null default 12; 
# 修改表中的 num 字段 为 int并且字段名为 nn 
alter table users change num mm int;
# 注意:一般情况下,无特殊要求,不要轻易修改表结构

删除字段

# 删除字段 alter table 表名 drop 被删除的字段名 
alter table users drop aa;

修改字段

语法格式: alter table 表名 change|modify 被修改的字段信息

  • change: 可以修改字段名,

  • modify: 不能修改字段名。

# 修改表中的 num 字段 类型,使用 modify 不修改表名
alter table users modify num tinyint not null default 12;

# 修改表中的 num 字段 为 int并且字段名为 nn 
alter table users change num mm int;

# 注意:一般情况下,无特殊要求,不要轻易修改表结构

3.修改表名

# 语法:alter table 原表名 rename as 新表名

4.更改表中的自增的值

# 在常规情况下,auto_increment 默认从1开始继续递增
alter table users auto_increment = 1000;

5.修改表引擎

# 推荐在定义表时,表引擎为 innodb。
# 通过查看建表语句获取当前的表引擎 
mysql> show create table users\G; 
*************************** 1. row *************************** 
    Table: users
Create Table: CREATE TABLE `users` (
    PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1001 DEFAULT CHARSET=utf8 

1 row in set (0.00 sec) 

# 直接查看当前表状态信息
mysql> show table status from tlxy where name = 'users'\G;
*************************** 1. row ***************************
	Name: users
	Engine: InnoDB
# 修改表引擎语句 alter table users engine = 'myisam';

6.删除表

drop table 表名
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值