MySQL操作数据库和表的基本语句(DDL)
1、创建数据库:
CREATE DATABASE 数据库名;
eg.CREATE DATABASE test_ddl;
2、创建表
CREATE TABLE 表名(
列名 数据类型 约束,
...
);
eg. CREATE TABLE table_ddl(
id INT(10) PRIMARY KEY AUTO_INCREMENT,
test_content VARCHAR(20) NOT NULL
);
3、复制表
(1)复制表结构(不含数据)
CREATE TABLE 新表名 (SELECT * FROM 旧表名 WHERE 1=2);
eg.CREATE TABLE copy_table_ddl(
SELECT *
FROM table_ddl
WHERE 1=2);
(2)复制表数据以及结构
CREATE TABLE 新表名 (SELECT * FROM 旧表名);
eg.CREATE TABLE copy_table_ddl2(
SELECT *
FROM table_ddl
);
4.修改表(ALTER)
(1)修改表名:(RENAME)
ALTER TABLE 旧表名 RENAME 新表名;
eg.ALTER TABLE table_ddl RENAME table_ddl_rename;
(2)修改列名(CHANGE)
ALTER TABLE 表名 CHANGE 旧列名 新列名 原数据类型 原约束;
eg.ALTER TABLE table_ddl_rename
CHANGE test_content content VARCHAR(20) NOT NULL;
(3)修改数据类型和约束(MODIFY)
ALTER TABLE 表名 MODIFY 列名 新数据类型 新约束;
eg.ALTER TABLE table_ddl_rename MODIFY content VARCHAR(100) NULL;
(4)删除列(DROP)
ALTER TABLE 表名 DROP 列名;
eg.ALTER TABLE table_ddl_rename DROP COLUMN new_columm;
(5)添加列(ADD)
ALTER TABLE 表名 ADD COLUMN 列名 数据类型 约束;
eg.ALTER TABLE table_ddl_rename ADD COLUMN new_columm INT(20) UNIQUE;
(6)删除主键、唯一键约束(先删除索引,再删除约束)
#因为主键只有一个,所以可以直接删除,不用索引:
删除主键:
ALTER TABLE 表名 DROP PRIMARY KEY;
eg.ALTER TABLE copy_table_ddl DROP PRIMARY KEY;
删除唯一键约束索引:
ALTER TABLE 表名 DROP INDEX 索引名;
eg.ALTER TABLE table_ddl_rename DROP INDEX new_columm;
5.其他语句:
DESC 表名; #查询表结构
SHOW INDEX FROM 表名; #查询表索引
6.约束条件:
(1)主键:PRIMARY KEY
(2)唯一键:UNIQUE
(3)非空:NOT NULL
(4)自增:AUTO_INCREMENT
(5)默认值:DEFAULT
(6)外键:FOREGIN KEY
。。。
1、创建数据库:
CREATE DATABASE 数据库名;
eg.CREATE DATABASE test_ddl;
2、创建表
CREATE TABLE 表名(
列名 数据类型 约束,
...
);
eg. CREATE TABLE table_ddl(
id INT(10) PRIMARY KEY AUTO_INCREMENT,
test_content VARCHAR(20) NOT NULL
);
3、复制表
(1)复制表结构(不含数据)
CREATE TABLE 新表名 (SELECT * FROM 旧表名 WHERE 1=2);
eg.CREATE TABLE copy_table_ddl(
SELECT *
FROM table_ddl
WHERE 1=2);
(2)复制表数据以及结构
CREATE TABLE 新表名 (SELECT * FROM 旧表名);
eg.CREATE TABLE copy_table_ddl2(
SELECT *
FROM table_ddl
);
4.修改表(ALTER)
(1)修改表名:(RENAME)
ALTER TABLE 旧表名 RENAME 新表名;
eg.ALTER TABLE table_ddl RENAME table_ddl_rename;
(2)修改列名(CHANGE)
ALTER TABLE 表名 CHANGE 旧列名 新列名 原数据类型 原约束;
eg.ALTER TABLE table_ddl_rename
CHANGE test_content content VARCHAR(20) NOT NULL;
(3)修改数据类型和约束(MODIFY)
ALTER TABLE 表名 MODIFY 列名 新数据类型 新约束;
eg.ALTER TABLE table_ddl_rename MODIFY content VARCHAR(100) NULL;
(4)删除列(DROP)
ALTER TABLE 表名 DROP 列名;
eg.ALTER TABLE table_ddl_rename DROP COLUMN new_columm;
(5)添加列(ADD)
ALTER TABLE 表名 ADD COLUMN 列名 数据类型 约束;
eg.ALTER TABLE table_ddl_rename ADD COLUMN new_columm INT(20) UNIQUE;
(6)删除主键、唯一键约束(先删除索引,再删除约束)
#因为主键只有一个,所以可以直接删除,不用索引:
删除主键:
ALTER TABLE 表名 DROP PRIMARY KEY;
eg.ALTER TABLE copy_table_ddl DROP PRIMARY KEY;
删除唯一键约束索引:
ALTER TABLE 表名 DROP INDEX 索引名;
eg.ALTER TABLE table_ddl_rename DROP INDEX new_columm;
5.其他语句:
DESC 表名; #查询表结构
SHOW INDEX FROM 表名; #查询表索引
6.约束条件:
(1)主键:PRIMARY KEY
(2)唯一键:UNIQUE
(3)非空:NOT NULL
(4)自增:AUTO_INCREMENT
(5)默认值:DEFAULT
(6)外键:FOREGIN KEY
。。。
1、创建数据库:
CREATE DATABASE 数据库名;
eg.CREATE DATABASE test_ddl;
2、创建表
CREATE TABLE 表名(
列名 数据类型 约束,
...
);
eg. CREATE TABLE table_ddl(
id INT(10) PRIMARY KEY AUTO_INCREMENT,
test_content VARCHAR(20) NOT NULL
);
3、复制表
(1)复制表结构(不含数据)
CREATE TABLE 新表名 (SELECT * FROM 旧表名 WHERE 1=2);
eg.CREATE TABLE copy_table_ddl(
SELECT *
FROM table_ddl
WHERE 1=2);
(2)复制表数据以及结构
CREATE TABLE 新表名 (SELECT * FROM 旧表名);
eg.CREATE TABLE copy_table_ddl2(
SELECT *
FROM table_ddl
);
4.修改表(ALTER)
(1)修改表名:(RENAME)
ALTER TABLE 旧表名 RENAME 新表名;
eg.ALTER TABLE table_ddl RENAME table_ddl_rename;
(2)修改列名(CHANGE)
ALTER TABLE 表名 CHANGE 旧列名 新列名 原数据类型 原约束;
eg.ALTER TABLE table_ddl_rename
CHANGE test_content content VARCHAR(20) NOT NULL;
(3)修改数据类型和约束(MODIFY)
ALTER TABLE 表名 MODIFY 列名 新数据类型 新约束;
eg.ALTER TABLE table_ddl_rename MODIFY content VARCHAR(100) NULL;
(4)删除列(DROP)
ALTER TABLE 表名 DROP 列名;
eg.ALTER TABLE table_ddl_rename DROP COLUMN new_columm;
(5)添加列(ADD)
ALTER TABLE 表名 ADD COLUMN 列名 数据类型 约束;
eg.ALTER TABLE table_ddl_rename ADD COLUMN new_columm INT(20) UNIQUE;
(6)删除主键、唯一键约束(先删除索引,再删除约束)
#因为主键只有一个,所以可以直接删除,不用索引:
删除主键:
ALTER TABLE 表名 DROP PRIMARY KEY;
eg.ALTER TABLE copy_table_ddl DROP PRIMARY KEY;
删除唯一键约束索引:
ALTER TABLE 表名 DROP INDEX 索引名;
eg.ALTER TABLE table_ddl_rename DROP INDEX new_columm;
5.其他语句:
DESC 表名; #查询表结构
SHOW INDEX FROM 表名; #查询表索引
6.约束条件:
(1)主键:PRIMARY KEY
(2)唯一键:UNIQUE
(3)非空:NOT NULL
(4)自增:AUTO_INCREMENT
(5)默认值:DEFAULT
(6)外键:FOREGIN KEY
。。。
MySQL操作数据库和表的基本语句(DDL)的更多相关文章
- MySQL操作数据库和表的基本语句(DDL
1.创建数据库: CREATE DATABASE 数据库名; eg.CREATE DATABASE test_ddl;122.创建表 CREATE TABLE 表名(列名 数据类型 约束,...); ...
- MySQL操作数据库和表的常用命令新手教程
1.查看数据库 获取服务器上的数据库列表通常很有用.执行show databases;命令就可以搞定. mysql> show databases; 2.创建数据库 mysql> crea ...
- MySQL处理数据库和表的常用命令
MySQL处理数据库和表的常用命令 [导读] 学习如何管理和导航MySQL数据库和表是要掌握的首要任务之一,下面的内容将主要对MySQL的数据库和表的一些常用命令进行总结,一些我们不得不掌握的命令,一 ...
- 第16课-数据库开发及ado.net-数据库SQl,创建数据库和表,增删改语句,约束,top和Distinct,聚合函数介绍
第16课-数据库开发及ado.net 数据库SQl,创建数据库和表,增删改语句,约束,top和Distinct,聚合函数介绍 SQL语句入门(脚本.命令) SQL全名是结构化查询语言(Structur ...
- mysql查看数据库和表的占用空间大小
mysql查看数据库和表的占用空间大小 第一部分-任务 将线上db,导出后,导入到office db 一. 两种方案: 1,将数据直接从online-->office,通过mysqldump ...
- 创建数据库和表的SQL语句【转】
创建数据库和表的SQL语句 转至http://www.cnblogs.com/philanthr/archive/2011/08/09/2132398.html 创建数据库的SQL语句: 1 crea ...
- PHP连接MYSQL操作数据库
PHP连接MYSQL操作数据库 <?php $con = mysql_connect("localhost","root",""); ...
- MySQL不同数据库之间表的简单同步
MySQL不同数据库之间表的简单同步,实用轻量级数据如下案列展示:例如我现在主库上面有users .tenants两张表需要同步到备库上面主库1.确认主库数据条数 select count(*) fr ...
- Oracle数据库查看表空间sql语句
转: Oracle数据库查看表空间sql语句 2018-09-03 15:49:51 兰海泽 阅读数 6212 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出 ...
随机推荐
- [noip模拟赛]午餐
https://www.zybuluo.com/ysner/note/1325779 题面 一共有\(n\)个人,林先森知道开始时只有\(1\)号会毒瘤算法.林先森了解到很多人一起吃过 午餐;具体地, ...
- 洛谷P3778 [APIO2017]商旅——01分数规划
题目:https://www.luogu.org/problemnew/show/P3778 转化有点技巧: 其实直接关注比率的上下两项,也就是盈利和时间: 通过暴枚和 floyd 可以处理出两两点间 ...
- CentOS6.0忘记root密码解决办法
说明操作系统:CentOS 6.0遇到问题:忘记管理员账号root的密码,进不了系统解决办法:重置root密码为123456操作: 开机启动系统,在进入系统之前按键盘上面的Esc键,会进入下面的界面 ...
- IJ:IntelliJ IDEA安装
ylbtech-IJ:IntelliJ IDEA安装 响应速度快 1.返回顶部 1. 2. 3. 4. 5. 6. 7. 2. 接受协议,激活IJ返回顶部 1. 2. 3. 4. 5. 6.0. 6. ...
- Asp.net Mvc 数据库上下文初始化器
在Asp.net Mvc 和Entity FrameWork程序中,如果数据库不存在,EF默认的行为是新建一个数据库.如果模型类与已有的数据库不匹配的时候,会抛出一个异常. 通过指定数据库上下文对象初 ...
- SQL2008中Merge的用法(转)
在SQL2008中,新增了一个关键字:Merge,这个和Oracle的Merge的用法差不多,只是新增了一个delete方法而已.下面就是具体的使用说明: 首先是对merge的使用说明: merge ...
- node express中使用static的错误
使用express中的static可以设置文件存储路径,比如js存在于public/js//demo.js这个时候可以将js文件夹设置为专门存储js的路径,代码如下: app.use('/javasc ...
- VC++6.0不兼容win10导致调试按钮不能正常作用得解决方案
win10正式版是一个全新的操作系统,所以我们在系统中运行类似VC6这类旧软件时,难免会遇到一些问题. 比如,现在有些用户在win10环境下运行VC6时,按F10.F11进行单步调试, 会出现:Unh ...
- [Swift通天遁地]一、超级工具-(4)使用UIWebView(网页视图)加载HTML和Gif动画
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...
- Ocelot(十二)- 请求聚合
Ocelot允许您指定聚合多个普通ReRoutes的Aggregate ReRoutes(聚合路由),并将其响应映射到一个对象中.一般用于当您有一个客户端向服务器发出多个请求,而这些请求可以合并成一个 ...