欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

MySql数据库学习-DDL 语句(创建和删除数据库和数据表以及修改数据表...)

程序员文章站 2022-03-03 17:47:06
...

数据库

数据库服务器 安装有数据库软件对外提供服务的电脑
————
数据库 一个项目对应一个数据库
————
数据表 ---- 字段 Field 和 数据行
————
数据库软件

  • 关系型 MySQL SQL Sever Oracle sqlite 内存启动,硬盘保存

  • 非关系型 Redis memoryCache 热数据处理


SQL语句的分类

SQL 语句主要可以划分为以下 3 个类别。

  • DDL(Data Definition Languages)语句:数据定义语言,这些语句定义了不同的数据段、 数据库、表、列、索引等数据库对象的定义。常用的语句关键字主要包括 create、drop、alter 等。
  • DML(Data Manipulation Language)语句:数据操纵语句,用于添加、删除、更新和查 询数据库记录,并检查数据完整性,常用的语句关键字主要包括 insert、delete、udpate select 等。
  • DCL(Data Control Language)语句:数据控制语句,用于控制不同数据段直接的许可和 访问级别的语句。这些语句定义了数据库、表、字段、用户的访问权限和安全级别。主要的 语句关键字包括 grant、revoke 等。

当前如果要细分的话,还可以分为一下几类

SQL机构化查询语句 通用于所有的数据库
– DDL:数据定义 定义了不同的数据段、数据库、表、列、索引等数据库对象的定义
– DML:数据处理 用于添加,删除、更新和查询数据库记录,并检查数据完整性
– DTL:事务处理,回滚
– DQL:数据查询
– DCL:数据控制,权限控制DBA 用于控制不同数据段直接的许可和访问级别的语句。这些语句定义了数据库、表、字段、用户的访问权限和安全级别 grant revoke

今天呢,主要就是说一下DDL语句的使用

DDL 是数据定义语言的缩写,简单来说,就是对数据库内部的对象进行创建、删除、修改的 操作语言。

也就是说DDL语句是关于数据库和数据表的创建的

数据库的连接

C:\Users>mysql -u root -p
Enter password: *************
/*mysql 代表客户端命令,-u 后面跟连接的数据库用户,-p 表示需要输入密码。*/

出现下面的语句代表连接成功

> Welcome to the MySQL monitor.  Commands end with ; or \g. Your MySQL
> connection id is 1 Server version: 5.6.12 MySQL Community Server (GPL)
> 
> Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights
> reserved.
> 
> Oracle is a registered trademark of Oracle Corporation and/or its
> affiliates. Other names may be trademarks of their respective owners.
> 
> Type 'help;' or '\h' for help. Type '\c' to clear the current input
> statement.

DDL语句

#当前数据库服务器中的所有数据库有哪些
mysql > show databases;

#创建一个数据库
mysql >  create database test;

#删除数据库
mysql > drop database test;

#选择使用数据库  所有对于数据表的操作都是在Javaee1904数据库下
mysql > use test;

#展示当前数据库下的所有数据表
mysql > show tables;

#创建一个数据表
mysql > create table person(
	#字段名和数据类型
    id int,
    #name字段,使用的数据类型是可变长的字符串,最大长度是30隔 
    name varchar(30),
    #age字段 tinyint ==>相当于 Java byte 0~255
    age tinyint,
    #info字段 text是文本字段
    info text
);

# 看一下当前表结构
mysql > desc person;

# 修改表 person的 name 字段定义,将 varchar(30)改为 varchar(20):
mysql > alter table preson modify name varchar(20);

# 表person上新增加字段sex,类型为 int(3):
mysql > alter table person add column sex int(3);

# 将表person中的age字段删除
mysql> alter table person drop column age;
 
# 将表person中的字段age改名为age1,同时修改字段类型为int(4)
mysql> alter table person change age age1 int(4);

/*
change 和 modify 都可以修改表的定义,不同的是 change 后面需要写两次列名,不方便。
但是 change 的优点是可以修改列名称,modify 则不能。
*/

# 查看数据库的创建过程
mysql > show create database test

# 查看数据表的创建过程
mysql > show create table person;
ENGINE=innoDb 默认的存储引擎(很重要的,可以修改)

# 创建数据表修改对应的存储引擎和字符集[了解]
mysql> create table test1(id int) engine = myisam default charset = gbk;

# 退出数据库!!!
mysql > exit;
mysql > quit;
禁止在cmd中使用右上角叉号关闭数据

需要注意的几点是

  1. 展示数据库中初始的数据库是什么
mysql > show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
+--------------------+
# 运行结果中的
# information_schema:主要存储了系统中的一些数据库对象信息。比如用户表信息、列信
# mysql:存储了系统的用户权限信息。
  1. 创建数据表的时候,需要先 use 你需要创建数据表的位置的数据库名字
mysql> create database hello;
Query OK, 1 row affected (0.01 sec)

mysql> use hello;
Database changed

mysql> create table person(
    -> #字段名和数据类型
    ->     id int,
    ->     #name字段,使用的数据类型是可变长的字符串,最大长度是30隔
    ->     name varchar(30),
    ->     #age字段 tinyint ==> Java byte 0~255
    ->     age tinyint,
    ->     #info字段 text是文本字段
    ->     info text
    -> );
Query OK, 0 rows affected (0.03 sec)