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中使用右上角叉号关闭数据
需要注意的几点是
- 展示数据库中初始的数据库是什么
mysql > show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
+--------------------+
# 运行结果中的
# information_schema:主要存储了系统中的一些数据库对象信息。比如用户表信息、列信
# mysql:存储了系统的用户权限信息。
- 创建数据表的时候,需要先 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)