#DDL
/*
数据定义语言 库和表的管理 一、库的管理
创建、修改、删除 二、表的管理
创建、修改、删除 创建:create
修改: alter
删除:drop
*/ 一、库的管理
#1.库的创建
/*
语法:
create database 库名称;
*/ #案例:创建库Books
create database if not exists Books; #2.库名称的修改
由于rename存在安全隐患,推荐直接在文件夹中更改
进入:C:\ProgramData\MySQL\MySQL Server 5.5\data #更改库的字符集
alter database books character set gbk; #3.库的删除
drop database if exists books; 二、表的管理
#1.表的创建
/*
create table 表名(列名 列的类型 【长度 约束】,
列名 列的类型 【长度 约束】,
。。。。
列名 列的类型 【长度 约束】)
*/
#案例:创建表book
use books;
create table book(id int,#编号
bname varchar(20),#图书名字
price double,#价格
authorID int,#作者
publishDate datetime #出版日期
);
desc book; #创建作者表
create table author(id int,
au_name varchar(20),
nation varchar(10)
);
desc author; #2.表的修改
/*
alter table 表名 add|drop|modify|change column 列名【列类型 约束】
*/ #(1)修改列名
#将publishDate修改为pubData
alter table book change column publishDate pubData datetime;
desc book; #(2)修改列的类型或者约束
修改列的类型
alter table book modify column pubData timestamp; #(3)添加新列
alter table author add column annual double 【first|after 字段名】;
desc author; #(4)删除列
alter table author drop column annual; #(5)修改表名
alter table author rename to author_book; #3.表的删除(只适用于表和库)
drop table if exists author_book; #4.表的复制
insert into author_book(id,au_name,nation) values
(1,"村上春树","日本"),
(2,"莫言","中国"),
(3,"刘念慈","中国"),
(4,"冯唐","中国"); desc author_book;
select * from author_book; 仅仅复制表的结构
create table copy like author_book; # 显示一下,发现啥都没有
select * from copy; 复制表的结构+数据
create table copy2 select * from author_book;
select * from copy2; 只复制部分数据
create table copy3 select id,au_name from author_book where nation="中国";
select * from copy3; 仅仅复制某些字段
create table copy4 select id,au_name from author_book where 0;
select * from copy4;

  

MySQL DDL-对库和表的操作的更多相关文章

  1. MySQL库和表的操作

    MySQL库和表的操作 库操作 创建库 1.1 语法 CREATE DATABASE 数据库名 charset utf8; 1.2 数据库命名规则 可以由字母.数字.下划线.@.#.$ 区分大小写 唯 ...

  2. MySQL/MariaDB数据库的多表查询操作

    MySQL/MariaDB数据库的多表查询操作 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.单表查询小试牛刀 [root@node105.yinzhengjie.org.cn ...

  3. Mysql --库和表的操作

    库的增删改查 系统数据库 创建数据库 数据库的相关操作 表的操作 存储引擎介绍(有点多 很啰唆) 表的介绍 表的操作 一.系统数据库 查看系统库: show databases; nformation ...

  4. MySQL用户、库、表(单/多)操作

    用户及权限操作: 管理员登录:mysql -uroot -p 用户设置密码:set password=password(密码); 查看数据库所有用户:select * from mysql.user; ...

  5. MySQL的库、表详细操作

    本节目录 一.库操作 二.表操作 三.行操作 一.库操作 1.创建数据库 1.1 语法 CREATE DATABASE 数据库名 charset utf8; 1.2 数据库命名规则 可以由字母.数字. ...

  6. mysql基础(库、表相关)

    一. mysql支持的数据类型 1.1 mysql支持的数字类型: TINYINT 1 字节 (-128,127) (0,255) 小整数值 SMALLINT 2 字节 (-32 768,32 767 ...

  7. mysql 主从单库单表同步 binlog-do-db replicate-do-db

    方案一:两边做主从. SELECT SUM(DATA_LENGTH)+SUM(INDEX_LENGTH) FROM information_schema.tables WHERE TABLE_SCHE ...

  8. 【mysql】统计库、表大小

    1. 查看该数据库实例下所有库大小,得到的结果是以MB为单位 mysql> select table_schema,sum(data_length)/1024/1024 as data_leng ...

  9. mysql 开发基础系列1 表查询操作

    在安装完数据库后,不管是windows 还是linux平台,  mysql的sql命令都大同小异,相关命令都是相同的,每个命令结束后 都以  ;  结尾, 注意在windows平台中表名是不区分大小写 ...

随机推荐

  1. Codeforces 191C (LCA+树上差分算法)

    题面 传送门 题目大意: 给出一棵树,再给出k条树上的简单路径,求每条边被不同的路径覆盖了多少次 分析 解决这个问题的经典做法是树上差分算法 它的思想是把"区间"修改转化为左右端点 ...

  2. jdk 1.7 新增

    二进制整数 JDK7提供了二进制整数的类型,只要以0b开头即可.int a = 0b0101; 下划线分隔符 针对特别长的数字,读懂它令人头疼,这时候用下划线分割数字,可增加代码可读性.long a ...

  3. hdu6357 Hills And Valleys (最长不下降子序列)

    题目传送门 题意: 给你0~9的字符串,问你翻转哪个区间后使得其最长不下降子序列长度最长 思路: 因为字符是0~9,所以我们可以定义一个b数组来枚举L,R, 去和原来的字符串去求最长公共子序列长度,不 ...

  4. 使用hash表进行数组去重

    哈希表(Hash table,也叫散列表),是根据关键码值(Key value)而直接进行访问的数据结构.也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度.这个映射函数叫做散列 ...

  5. wxpython菜单栏、子菜单栏、弹出菜单栏、状态栏小程序学习源代码分享

    #coding=utf-8 import wx class MyFrame(wx.Frame): def __init__(self): wx.Frame.__init__(self,None,-1, ...

  6. C++11常用特性总结

    非原创,转载出处 http://www.cnblogs.com/feng-sc C++11已经出来很久了,网上也早有很多优秀的C++11新特性的总结文章,在编写本博客之前,博主在工作和学习中学到的关于 ...

  7. Oracle 附加日志(supplemental log)

    参考资料: 1.https://blog.csdn.net/li19236/article/details/41621179

  8. [SDOI2011]消防(贪心,图论,树的直径)

    [SDOI2011]消防 题目描述 某个国家有n个城市,这n个城市中任意两个都连通且有唯一一条路径,每条连通两个城市的道路的长度为zi(zi<=1000). 这个国家的人对火焰有超越宇宙的热情, ...

  9. mysql 5.6 datetime default now()

    CREATE TABLE `test` (   id int,   `gmt_create` datetime  DEFAULT NOW() not NULL )ENGINE=InnoDB; mysq ...

  10. Rabbit给单独的消息设置超时

    /** * 发送消息 * @param user */@RequestMapping(value = prefix+"/setRabbitMessage", method = Re ...