数据库之DDL操作(数据库,表,字段)

Data Definition Language,数据库定义语言,用来定义数据库对象(数据库,表,字段)

1.数据库操作 

1.1查询所有数据库 

show databases;

1.2查询当前数据库

show databases();

1.3创建数据库

create database [if not exists] 数据库名 [default charset 字符集] [collate 排序规则];

 例如:

  • 我们想创建一个Student数据库,并且使用数据库默认的字符集。
create database Student;
  • 因为在同一个数据库服务器中不能出现同名的数据库,所以我们使用(if not exists)参数来解决这个问题,若想要创建的数据库不存在,则创建数据库,如果存在,则不创建。 
create database if not exists Student;
  • 我们也可以指定数据库使用的字符集 
create database Student default charset utf8mb4;

1.4删除数据库

drop database [if exists] 数据库名;

1.5切换数据库

        我们要操作某一个数据库下的表时,需要通过命令,切换到对应的数据库下面,否则是不能对那个表进行操作的。

use 数据库名;

2.表操作 

2.1查询创建

2.1.1查询当前数据库中所有表

show tables;

例如:

  • 如果我们想要在mydata数据库中查询我们所创建的所有表。 
use mydata;
show tables;

2.1.2查看表结构

        这条指令可以使我们看见指定表的字段,字段的类型,是否可以为NULL,是否存在默认值等信息。

desc 表名;

2.1.3查询表的建表语句

        这条指令可以使我们查询到创建表时候的所有参数,指定的和没指定的(默认值)都回查询到 。(存储引擎,字符集)等没。

show create table 表名;

2.1.4创建表结构

create table 表名(
    字段1 字段1类型 [comment 字段1注释],
    字段2 字段2类型 [comment 字段2注释],
    字段3 字段3类型 [comment 字段3注释],
    字段4 字段4类型 [comment 字段4注释],
    ......
    字段n 字段n类型 [comment 字段n注释]
)[comment 表注释]
  • 最后一个字段没有逗号(,)

 例如:

create table tb_stu(
    S# varchar(12) comment '学号';
    name varchar(30) comment '姓名';
    age int comment '年龄';
    gender varchar(1) comment '性别'
)comment '学生表';

2.2数据类型 

2.2.1数值类型

类型大小有符号范围无符号范围描述
TINYINT1byte(-128,127)(0,255)小整数值
SMALLINT2bytes(-32768,32767)(0,65535)大整数值
MEDIUMINT3bytes(-8388608,8388607)(0,16777215)大整数值
INT4bytes(-2147483648,2147483647)(0,4294967295)大整数值
BIGINT8bytes(-2^63,2^63-1)(0,2^64-1)极大整数值
FLOAT4bytes(-3.4... E+38,3.4... E+38)0和(1.17... E-38,3.40... E+38)单精度浮点数值
DOUBLE8bytes(-1.7... E+308,1.7... E+308)0和(2.22... E-308,1.79... E+308)双精度浮点数值
DECIMAL依赖于M(精度)和D(标度)的值依赖于M(精度)和D(标度)的值

小数值(精确定点数)

例如:

//年龄字段--不出现负数不超过255岁
age tinyint unsigned

//分数字段--总分100,一位小数
score double(4,1)

2.2.2字符串类型

类型大小描述
CHAR0-255 bytes定长字符串(需要指定长度)
VARCHAR0-65535 bytes变长字符串(需要指定长度
TINYBLOB0-255 bytes不超过255个字符的二进制数据
TINYTEXT0-255 bytes短文本字符串
BLOB0-65535 bytes二进制形式的长文本数据
TEXT0-65535 bytes长文本数据
MEDIUMBLОB0-16 777 215 bytes二进制形式的中等长度文本数据
MEDIUMTEXT0-16 777 215 bytes中等长度文本数据
LONGBLOB0-4 294 967 295 bytes二进制形式的极大文本数据
LONGTEXT0-4 294 967 295 bytes极大文本数据

例如:

1).用户名 username->长度不定,最长不会超过50
username varchar (50)

2),性别 gender--------->存储值,不是男,就是女
gender char (1)

3).手机号 phone-----> 固定长度为11
phone char (11)

2.2.3日期时间函数

类型大小范围格式描述
DATE31000-01-01至9999-12-31YYYY-MM-DD日期值
TIME3-838:59:59至838:59:59HH : MM: SS时间值或持续时间
YEAR11901至2155YYYY年份值
DATETIME81000-01-01 00:00:00 至9999-12-31 23:59:59YYYY-MM-DDHH:MM:SS混合日期和时间值
TIMESTAMP41970-01-0100:00:01至2038-01-19 03:14:07YYYy-MM-DDHH:MM: SS混合日期和时间值,时间戳

例如:

1),生日字段 birthday
birthday date

2),创建时间 createtime
createtime datetime

 2.2.4表操作--修改

2.2.4.1添加字段

ALTER TABLE 表名 ADD 字段名类型 (长度) [COMMENT 注释] [ 约束];

2.2.4.2修改数据类型 

ALTER TABLE 表名 MODIFY 字段名 新数据类型 (长度);

2.2.4.3修改字段名和字段类型

ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型(长度) [COMMENT 注释] [ 约束 ];

2.2.4.4删除字段

ALTER TABLE 表名 DROP 字段名;

2.2.4.5修改表名

ALTER TABLE 表名 RENAME TO 新表名;

2.2.5表操作-删除

2.2.5.1删除表

DROP TABLE [IF EXIST} 表名;

 可选项 IFEXISTS代表,只有表名存在时才会删除该表,表名不存在,则不执行删除操作(如果加该参数项,删除一张不存在的表,执行将会报错)。

2.2.5.2删除指定表,并重新创建表

TRUNCATE TABLE 表名;

  • 47
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值