MySql DDL数据定义语言

1.数据库创建、查看以及使用/切换

直接创建数据库 db1

create database db1; 

查看当前在哪个库里边

select database();

进入库的操作:use 库名;

use db1;

判断是否存在,如果不存在则创建数据库 db2

create database if not exists db2; 

创建数据库db3,并指定字符集为 gbk

create database db3 default character set gbk; 

查看某个库是什么字符集;

show create database db1;

查看当前 mysql 使用的字符集

show variables like ‘character%‘;

2.常用数据类型

1)整数型

类型       大小       范围(有符号)           范围(无符号unsigned)       用途
TINYINT    1 字节         (-128,127)                      (0,255)                  小整数值
SMALLINT     2 字节         (-32768,32767)                  (0,65535)                大整数值
MEDIUMINT    3 字节         (-8388608,8388607)              (0,16777215)             大整数值
INT          4 字节         (-2147483648,2147483647)        (0,4294967295)           大整数值
BIGINT       8 字节                                         (0,2的64次方减1)           极大整数值

2)浮点型

FLOAT(m,d)  4 字节 单精度浮点型 备注:m代表总个数,d代表小数位个数
DOUBLE(m,d) 8 字节 双精度浮点型 备注:m代表总个数,d代表小数位个数

3)定点型

DECIMAL(m,d) 依赖于M和D的值 备注:m代表总个数,d代表小数位个数

4)字符串类型

类型           大小           用途
CHAR           0-255字节            定长字符串
VARCHAR        0-65535字节          变长字符串
TINYTEXT       0-255字节        短文本字符串
TEXT           0-65535字节          长文本数据
MEDIUMTEXT     0-16777215字节       中等长度文本数据
LONGTEXT       0-4294967295字节     极大文本数据

char 的优缺点:存取速度比 varchar 更快,但是比 varchar 更占用空间
varchar 的优缺点:比 char 省空间,但是存取速度没有 char 快

5)时间型

数据类型   字节数     格式                 备注
date     3       yyyy-MM-dd                   存储日期值
time     3       HH:mm:ss                     存储时分秒
year     1       yyyy                         存储年
datetime   8           yyyy-MM-dd HH:mm:ss          存储日期+时间
timestamp   4          yyyy-MM-dd HH:mm:ss          存储日期+时间,可作时间戳

3.创建表

语法:

CREATE TABLE 表名 (
  字段名1 字段类型1 约束条件1 说明1,
  字段名2 字段类型2 约束条件2 说明2,
  字段名3 字段类型3 约束条件3 说明3
);

create table 新表名 as select * from 旧表名 where 1=2;(注意:建议这种创建表的方式用于日常测试,因 为可能索引什么的会复制不过来)
create table 新表名 like 旧表名;

约束条件:

comment:说明解释
not null:不为空
default:默认值
unsigned:无符号(即正数)
auto_increment:自增
zerofill:自动填充
unique key:唯一值

创建sql

CREATE TABLE student (
  id tinyint(5) zerofill auto_increment not null comment ‘学生学号‘,
  name varchar(20) default null comment ‘学生姓名‘,
  age tinyint default null comment ‘学生年龄‘,
  class varchar(20) default null comment ‘学生班级‘,
  sex char(5) not null comment ‘学生性别‘,
  unique key (id)
)engine=innodb charset=utf8;
?
CREATE TABLE student (
  id tinyint(5) auto_increment default null comment ‘学生学号‘,
  name varchar(20) default null comment ‘学生姓名‘,
  age tinyint default null comment ‘学生年龄‘,
  class varchar(20) default null comment ‘学生班级‘,
  sex char(5) not null comment ‘学生性别‘,
  unique key (id)
)engine=innodb charset=utf8;

4.数据表查看

查看数据库中的所有表:

show tables;

查看表结构:desc 表名;

desc dept;

查看创建表的sql语句:show create table 表名;
\G :有结束sql语句的作用,还有把显示的数据纵向旋转90度
\g :有结束sql语句的作用

show create table dept;

5.数据表结构维护与删除

修改表名:rename table 旧表名 to 新表名;

rename table student to user;

给表添加一列:alter table 表名 add 列名 类型;

alter table user add addr varchar(50);

alter table add 列名 类型 comment ‘说明‘;

alter table user add famliy varchar(50) comment ‘学生父母‘;

给表最前面添加一列:alter table 表名 add 列名 类型 first;

alter table user add job varchar(10) first;

给表某个字段后添加一列:alter table 表名 add 列名 类型 after 字段名;  (注意:没有给表某个字段前添加一列的说法。)

alter table user add servnumber int(11) after id;?

修改列类型:alter table 表名 modify 列名 新类型;

alter table user modify servnumber varchar(20);

修改列名:alter table 表名 change 旧列名 新列名 类型;

alter table user change servnumber telephone varchar(20);

删除列:alter table 表名 drop 列名;

alter table user drop famliy;

修改字符集:alter table 表名 character set 字符集;

alter table user character set GBK;

表的删除:drop table 表名;

drop table user;

看表是否存在,若存在则删除表:drop table if exists 表名;

drop table if exists teacher;

原文地址:https://www.cnblogs.com/jwen1994/p/11788223.html

时间: 2024-10-02 22:37:46

MySql DDL数据定义语言的相关文章

Hive 官方手册翻译 -- Hive DDL(数据定义语言)

Hive DDL(数据定义语言) Confluence Administrator创建, Janaki Lahorani修改于 2018年9月19日 原文链接 https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL 翻译:Google Google翻译,金山软件 金山词霸 校对:南大通用 范振勇 (2018.9.26) 一.概述 这里是HiveQL DDL语句的文档,其中包括: CREATE 数据库/SCHEMA,表

Mysql数据库 DDL 数据定义语言

数据库(Database,DB): 按照数据结构来组织.存储和管理数据的仓库,本质上就是文件系统,数据按照一定的格式存储,用户可以进行CRUD(增删改查) 数据库管理系统(Data Base Management System,DBMS): 创建和管理数据库的,介于应用程序和操作系统之间,不仅具有最基本的数据管理功能,还能保证数据的完整性.安全性和可靠性.eg:MySQL.Oracle.SQL.Server.DB2等. 数据库系统(DataBase System,DBS): 是由硬件和软件组成的

DDL(数据定义语言)

DDL,是对数据库内部的对象进行创建,删除,修改等的操作语言.它和DML语言最大的区别是DML只是对表内部数据的操作,而不涉及到表的定义,结构的修改,更不会涉及到其它对象. 1.连接数据库:注:1.mysql代表客户端命令,-u后面跟连接的数据库用户,-p表示需要输入密码.    2.命令的结束符用;或者\g结束 2.创建数据库:格式:create database dbname; Query OK执行成功1 row affected 只影响了数据库中一行的记录.0.13 sec 记录了操作执行

Hive的DDL数据定义语言

1.创建数据库 hive>create database myhive; hive>create database if not exists myhive; hive>show databases; hive>show databases like '*t*'; 说明:hive为创建的数据库生成了相对应的目录(*.db),目录在{hive.metastore.warehouse.dir}属性下,同时,数据库中的表将以目录中的子目录进行存储:default默认数据库除外. a.自定

mysql学习一 DDL(数据定义语言)

一.mysql的具体安装这里就不多说了,网上有很多.大家可以在网上找找,有安装版本和压缩版本. 二.验证数据库是否安装成功: 在dos的命令行下面输入:mysql -u root -p(默认的是直接回车就可以了,如果你没有设置密码) 如果你设置了密码就得输入密码 就会登录上mysql,有mysql的提示信息. 三.DDL:数据定义语言 简述:什么是DDL呢?Data Definition Language(数据定义语言):我们知道是什么了,接下来应该了解它有什么作用吧?我想我们学习很多东西的时候

mysql学习笔记之六(数据定义语言DDL)

SQL语言包括四类种主要程序设计语言类别的语句:数据定义语言(DDL),数据操作语言(DML)及数据控制语言(DCL)还有事务控制语言(TCL). ※  数据定义语言(DDL),例如:CREATE.DROP.ALTER等语句. ※  数据操作语言(DML),例如:INSERT(插入).UPDATE(修改).DELETE(删除)语句. ※  数据查询语言(DQL),例如:SELECT语句.(一般不会单独归于一类,因为只有一个语句). ※  数据控制语言(DCL),例如:GRANT.REVOKE等语

DDL(Data Definition Language)数据定义语言基础

数据定义语言DDL(Data Definition Language)是SQL语言的三个主要组成部分之一(另外两个分别是数据操作语言DML(Data Mainpulation Language)和数据控制语言(Data Control Language)). 1:创建用户Create User 创建用户使用如下的语法 Create user 用户名 identified by 密码 [default tablespace 缺省表空间] [temporary tablespace 临时表空间].如

ddl(数据定义语言) ,dml (数据操控语言),dcl(数据控制语言)

DDL.DML和DCL的理解 1.DDL 1-1.DDL的概述 DDL(Data Definition Language 数据定义语言)用于操作对象和对象的属性,这种对象包括数据库本身,以及数据库对象,像:表.视图等等,DDL对这些对象和属性的管理和定义具体表现在Create.Drop和Alter上.特别注意:DDL操作的"对象"的概念,"对象"包括对象及对象的属性,而且对象最小也比记录大个层次.以表举例:Create创建数据表,Alter可以更改该表的字段,Dro

DDL(数据定义语言)

1.Oracle中常见的数据类型分类:(A) 1.number(x,y) 数字类型,x表示最大长度,y表示精度对应java中除char外所有基本数据类型(byte.short.int.long.float.double.boolean) 2.varchar2(x) 可变字符串,x表示最大长度.对应java中String 3.char(x) 定长字符串,x表示最大长度. 对应java中String 4.long 长字符串,最大2G.对应java中String 5.Date,日期(年月日时分秒)对应