mysql ddl 查询命令_MySQL中DDL常用命令

操作数据库

下面开始使用sql语句操作数据库,需要注意的是要以英文的分号结尾。表名和字段名通常使用小写英文命名,做到见名知意,多个英文单词之间使用下划线间隔,例如task_config。

创建数据库

创建一个数据库,名字是study1

create database study1;

创建数据库study2,指定字符编码为gbk:

create database study2 character set gbk;

查看数据库

显示当前所有的数据库

show databases;

查看study2数据库的定义信息:

show create database study2;

修改数据库

将study2数据库的编码修改为utf-8;

alter database study2 character set utf8;

删除数据库

删除study2数据库

drop database study2;

查看当前使用的数据库

select database();

切换数据库

切换至study2数据库

use study2;

操作数据库表

创建表语法:

create table 表名(

字段1 字段类型,

字段2 字段类型,

...

字段n 字段类型

);

常用的字段数据类型:

int:整型

double:小数类型,例如double(5,2)表示最多5位,其中必须有2位小数,即最大值为999.99;

decimal(m,d):小数类型,m是长度,d是小数的位数

char:固定长度字符串类型; char(10) 如果不足10位则会自动补足10位:'abc '

varchar:可变长度字符串类型;varchar(10) 如果不足10位不会补足:'abc',性能不如char高

text:字符串类型;适用于大文本内容,可以存储文章评论等内容。

blob:字节类型,可以存储图片和视频等内容,会降低数据库性能,通常不用。

date:日期类型,格式为:yyyy-MM-dd;

time:时间类型,格式为:hh:mm:ss

timestamp:时间戳类型 yyyy-MM-dd hh:mm:ss 以世界协调时(UTC)格式保存的, 在存储时会对当前时区进行转换, 在查询检索时再把UTC时间转换为当前时区

datetime:日期时间类型 yyyy-MM-dd hh:mm:ss 按实际输入的存储,与时区无关

如何选择字段类型:

整数与小数

如果不需要小数就选择整数,如果需要小数就选择DECIMAL,精度比较高,不建议使用double和float,会损失精度

TIMESTAMP与DATETIME

如果有跨时区的业务,则需要选择TIMESTAMP,其取值范围小, 1970~2037,当字段设置为TIMESTAMP类型时,如果没有显示插入数据,MySQL会把当前时间作为该列的值。

CHAR与VARCHAR

CHAR是固定长度的,VARCHAR是可变长度的. CHAR会在尾部插入空格, VARCHAR不会。CHAR处理速度比VARCHAR快,缺点是浪费空间.如果存储的数据不大,在速度上有要求选择CHAR。MySQL数据库中的InnoDB存储引擎,存储CHAR与VARCHAR数据时不分固定长度还是可变长度,因为使用CHAR不一定比VARCHAR更好. 如果使用MyISAM存储引擎,最好使用固定长度的CHAR,检索会更快

示例:

create table employee(

id int,

name varchar(20),

sex char(1),

birthday date,

job varchar(50),

salary double

);

查看数据库中所有的表

SHOW TABLES;

查询出的字段中,Field表示字段名, TYPE表示字段的类型, NULL表示是否允许为空, KEY是主键, Default是默认值。

查看表的字段信息

DESC employee;

在上面员工表的基础上增加一个address列。

ALTER TABLE employee ADD address varchar(100);

修改job列,使其长度为30。

ALTER TABLE employee MODIFY job varchar(30);

删除address列,一次只能删一列。

ALTER TABLE employee DROP address;

表名改为user。

RENAME TABLE employee TO user;

查看表格的创建细节

SHOW CREATE TABLE user;

修改表的字符集为gbk

ALTER TABLE user CHARACTER SET gbk;

列名name修改为username

ALTER TABLE user CHANGE name username varchar(20);

删除表

DROP TABLE user ;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值