MySQL之DDL(数据库定义语言)
MySQL之DDL(数据库定义语言)
-
操作数据库
定义数据库:
create {database|schema} [if not exists] db_name [create_specification [,create_specification ]...] create_specification : [default] character set charset_name //指定字符集 | [default] collate collation_name //指定数据字符集的比较方式
例子:
create database mysql1; //创建一个名称为mysql1的数据库
create database mysql2 character set gbk; //创建一个使用gbk字符集的mysql2数据库
create database mysql3 character set gbk collate gbk_chinese_ci; //创建一个使用gbk字符集,并带校验规则的mysql3数据库相关语句:
show databases; //查看当前所有数据库 show create database db_name; //查看数据库的创建信息 use db_name; //切换数据库 select database(); //查看当前使用的数据库
删除数据库:
drop {database|schema} [if exists] db_name;
修改数据库:
alter database db_name [alter _specification [,alter _specification ]...] alter _specification : [default] character set charset_name //指定字符集 | [default] collate collation_name //指定数据字符集的比较方式
例子:
alter database mysql2 character set utf8; //把mysql2 的字符集修改成utf8 -
数据类型
整型:
tinyint 有符号值:-128~127 1字节
无符号值:0~255
smallint 2字节
mediumint 3字节
int 4字节
bigint 8字节浮点型:
float[(M,D)] M为数字总位数,D为小数点后面位数
double[(M,D)]
double(5,2) 表示最多5位,其中必须有2位小数日期时间型
year 年份
time 时间类型 hh:mm:ss
date 日期类型 yyyy-mm-dd
datetime 日期时间类型 yyyy-mm-dd hh:mm:ss
timestamp 时间戳字符型
char(m) M个字节,0<=M<=255
varchar(m) L+1个字节,L<=M,0<=M<=65535
enum(‘value1’,‘value2’,…) 1或2个字节,取决于枚举值的个数(65535)
set(‘value1’,‘value2’,…) 1、2、3、4或8个字节,取决于set成员个数(最多64个)char和varchar的区别:
char(m)定义的长度是固定的,当保存char值时,在它们的右边填充空格已达到指定长度,当检索到char值时,尾部空格被删掉,在检索或删除过程中不进行大小写转换。
varchar(m)定义的长度是可变的,保存时不进行填充,当检索到varchar时,尾部空格不删除,varchar的实际长度是它的长度+1,这一字节用于保存实际使用了多大的长度。
如果分配给char和varchar的值超过了最大长度,则会进行裁剪以适合,如果被裁减掉的不是空格,则发出一条警告。 -
操作数据表
定义数据表:
create table [if not exists] table_name ( column_name data_type; ... );
例子:
create table emp(
id int;
name varchar(20),
job varchar(100),
birthday date,
salary double
);修改数据表:
1)添加单列alter table table_name add [column] column_name column_definition [first|after column_name ]
例子:
alter table emp add age tinyint unsigned not null defult 10; //增加一个age列,不能为空,默认值为10
alter table emp add password varchar(32) not null after age; //在age列后面增加一个password 列2)添加多列
alter table table_name add [column] (column_name column_definition , ...)
3)删除列
alter table table_name drop[column] column_name
4)修改列定义
alter table table_name modify[column] column_name column_definition [first|after column_name ]
例子:
alter table emp modify job varchar(50); //修改job列,使其长度为505)修改列定义和列名称
alter table table_name change[column] old_column_name new_column_name column_definition [first|after column_name ]
例子:
alter table emp change job j_ob varchar(40) first; //修改job列,使其长度为40,改名为j_ob,位于所有列之前6)修改表名称
alter table table_name rename [to|as] new_table_name rename table table_name to new_table_name [,table_name1 to new_table_name1...]
例子:
alter table t2 rename to t3;插入记录:
insert into table_name (列名1,列名2,...) values (列值1,列值2,...)
列值和列名的类型、个数、顺序要一一对应
列值不要超过列定义的长度
如果插入空值,用null
插入字符类型和日期类型要用单引号括起来删除记录:
delete from table_name [where 列名=值]
例子:
delete from provinces where id=3; //删除表中id=3的记录
delete from provinces; //删除表中i所有记录
- 05--MySQL自学教程:DDL(Data Definition Language:数据库定义语言)操作数据库(一)
- MySQL部分DDL(数据库定义语言(Data Definition Language)),MySQL数据库表中字段的数据类型
- 05--MySQL自学教程:DDL(Data Definition Language:数据库定义语言)操作数据库中的表(二)
- 第一天,Mysql安装,DDL(数据库定义语言),DBA,DML(数据库操纵语言),导入外面的sql文件
- MySQL之数据库定义语言(DDL)
- 05--MySQL自学教程:DDL(Data Definition Language:数据库定义语言)操作数据库(一)
- 05--MySQL自学教程:DDL(Data Definition Language:数据库定义语言)操作数据库中的表(二)
- mysql数据库 DDL 数据库定义语言 (下)
- 数据库-编程语-SQL / 定义语言-DDL 数据进行定义 操作 查询 控制
- 数据库定义语言DDL
- 数据库数据定义语言(DDL)
- mysql数据库 DDL(数据库定义语言)
- 数据库_MySQL_常用DDL、DML、DCL语言整理(附样例)
- SQL(一)——DDL(Database Definition Language)数据库定义语言
- 数据库语言类型(一)-数据库定义语言DDL-表
- 数据库定义语言(DDL)
- ORACLE中的数据库定义语言(DDL)
- JAVAWEB开发之数据库简介、MySQL的安装与卸载(处理中文乱码)、以及MySQL语言(DDL、DML、DCL、DQL)的详解和使用
- 数据库定义语言DDL
- mysql系列:ddl数据库定义+sql操作语句