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

数据库

数据库服务器 安装有数据库软件对外提供服务的电脑
————
数据库 一个项目对应一个数据库
————
数据表 ---- 字段 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)

你可能感兴趣的:(MySql数据库学习)