MySQL之数据库定义语言(DDL)
2017-02-20 23:58
621 查看
数据库定义语言Data Define Language(DDL)
这个语法在mysql 5.1.7中被添加进来,到了5.1.23又去掉了。据说有可能丢失数据。
2).如果所有表都是MyISAM类型的话,可以改文件夹的名字
关闭mysqld
把data目录中的db_name目录重命名为new_db_name
开启mysqld
3). INNODB
1.按新名字建立一个数据库
2.删除原有库中所有表上的触发器
3.使用rename table命令将表从原数据库复制到新数据库
4.在新数据库上重新创建步骤2中被删除的触发器
5.在新数据库上重新创建存储过程、自定义函数、Events等
所有的数据表操作必须归属到某个数据库中的行为,在操作表前须指定操作的数据库:
show tables;-- 查看当前数据库的数据表清单
2)在中间某字段之后添加字段:
3)在第一个字段前增加字段:
这里必须带上数据类型,否则无法操作;
注意:
1.int型的字段可改为varchar;varchar对应字段如果列对应值全是数值也可修改为int,否则会报错;
2.以前以为int(3)只能保存最大值也就999事实并非如此,需要下去了解。
1.创建数据库:
-- 语法: CREATE DATABASE [IF NOT EXISTS] dbname [CHARACTER SET 'CHAR_NAME'] [COLLATE 'COLL_NAME']; -- 示例: CREATE DATABASE IF NOT EXISTS `user1` CHARACTER SET utf8; -- 查看新建数据库的语句 SHOW CREATE DATABASE `user1`; CREATE DATABASE `user1` /*!40100 DEFAULT CHARACTER SET utf8 */ -- 查看当前数据库拥有的database; SHOW DATABASES;
2.修改数据库名称:
1). RENAME DATABASE db_name TO new_db_name这个语法在mysql 5.1.7中被添加进来,到了5.1.23又去掉了。据说有可能丢失数据。
SELECT @@version;-- 当前数据库版本5.6.21-log
2).如果所有表都是MyISAM类型的话,可以改文件夹的名字
关闭mysqld
把data目录中的db_name目录重命名为new_db_name
开启mysqld
3). INNODB
1.按新名字建立一个数据库
2.删除原有库中所有表上的触发器
3.使用rename table命令将表从原数据库复制到新数据库
4.在新数据库上重新创建步骤2中被删除的触发器
5.在新数据库上重新创建存储过程、自定义函数、Events等
3.删除数据库:
drop database [if exists] dbname;
所有的数据表操作必须归属到某个数据库中的行为,在操作表前须指定操作的数据库:
use db_name;
4.新增数据表:
-- 语法: CRTATE TABLE [IF NOT EXISTS] TBNAME(col_name col_definition,...) [ENGINE={MYISAM | INNODB }]; -- 示例: CREATE TABLE `user1`( id INT, NAME VARCHAR(20), age INT(3) ); -- 显示创建当前表的SQL -- show create table `user1`; CREATE TABLE `user1` ( `id` INT(11) DEFAULT NULL, `name` VARCHAR(20) DEFAULT NULL, `age` INT(3) DEFAULT NULL ) ENGINE=INNODB DEFAULT CHARSET=utf8
show tables;-- 查看当前数据库的数据表清单
5.删除表:
drop table [if exists] table_name;
6.修改表名称:
ALTER TABLE `user1` RENAME TO `user2`;-- 此种方式的TO可省略 ALTER TABLE `user2` RENAME `user1`;
7.增加列:
1)在表的最后添加一个字段(默认添加到最后一个字段的后面):ALTER TABLE `user1` ADD `remark` VARCHAR(200);
2)在中间某字段之后添加字段:
ALTER TABLE `user1` ADD `address` VARCHAR(100) AFTER `age`;
3)在第一个字段前增加字段:
ALTER TABLE `user1` ADD `fami_id` INT(11) FIRST;
-- 查看当前表脚本 -- SHOW CREATE TABLE `user1`; CREATE TABLE `user1` ( `id` INT(11) DEFAULT NULL, `name` VARCHAR(20) DEFAULT NULL, `age` INT(3) DEFAULT NULL, `address` VARCHAR(100) DEFAULT NULL, `remark` VARCHAR(200) DEFAULT NULL ) ENGINE=INNODB DEFAULT CHARSET=utf8
8.删除列
ALTER TABLE `user1` DROP COLUMN `address`;查看表结构:DESCRIBE `user1`;也可以简写为:DESC `user1`;
9.修改列名称:
-- 语法: -- ALTER TABLE table_name CHANGE [COLUMN] column_name column_new_name type [是否允许非空]; ALTER TABLE `user1` CHANGE `name` `user_name` VARCHAR(20);
这里必须带上数据类型,否则无法操作;
10.修改列的字段类型:
-- 语法: -- ALTER TABLE table_name MODIFY column_name type [是否允许非空]; ALTER TABLE `user1` MODIFY remark VARCHAR(100);change也可以修改字段类型,如果不修改列名时,column_name和columnu_new_name保持一致就行;
注意:
1.int型的字段可改为varchar;varchar对应字段如果列对应值全是数值也可修改为int,否则会报错;
2.以前以为int(3)只能保存最大值也就999事实并非如此,需要下去了解。
相关文章推荐
- MySQL部分DDL(数据库定义语言(Data Definition Language)),MySQL数据库表中字段的数据类型
- 05--MySQL自学教程:DDL(Data Definition Language:数据库定义语言)操作数据库(一)
- 第一天,Mysql安装,DDL(数据库定义语言),DBA,DML(数据库操纵语言),导入外面的sql文件
- 05--MySQL自学教程:DDL(Data Definition Language:数据库定义语言)操作数据库中的表(二)
- 05--MySQL自学教程:DDL(Data Definition Language:数据库定义语言)操作数据库(一)
- 05--MySQL自学教程:DDL(Data Definition Language:数据库定义语言)操作数据库中的表(二)
- 数据库_MySQL_常用DDL、DML、DCL语言整理(附样例)
- Mysql的数据定义语言DDL
- 数据库数据定义语言(DDL)
- 数据库语言类型(一)-数据库定义语言DDL-表
- mysql数据库 DDL 数据库定义语言 (下)
- 数据库定义语言(DDL)
- JAVAWEB开发之数据库简介、MySQL的安装与卸载(处理中文乱码)、以及MySQL语言(DDL、DML、DCL、DQL)的详解和使用
- mysql数据库 DDL(数据库定义语言)
- 数据库定义语言DDL
- 数据库定义语言DDL
- mysql系列:ddl数据库定义+sql操作语句
- 数据库——DDL(数据库定义语言)
- MySQL常用DDL、DML、DCL语言整理(附样例)
- 数据库和mysql字段定义罗列_云中的二舅-ChinaUnix博客