MySQL实战8 数据库和数据表的管理

MySQL实战 目录

DDL:Data Definition Language数据库定义语言:主要作用是对数据库和表的管理,

这里的表的管理是表本身,不是表里的记录数据值的管理,前面讲的增删改查是对表里的记录数据值的操作,本质不同注意区别。
1.对数据库的管理
创建数据表,修改数据库,删除数据库
2.对数据库里的数据表的管理
创建数据表 : create
修改数据表的结构设计(字段的名和字段的数据类型) : alter
删除数据表 : drop

1.数据库的管理

创建数据库books
create database books;
create database if not exists books;
修改数据库的字符集
ALTER DATABASE BOOKS CHARACTER SET gbk;
ALTER DATABASE BOOKS CHARACTER SET utf8;
删除数据库
DROP DATABASE  IF  EXISTS books ;

2.表的管理:

2.1.创建表:

语法:create table 表名(
字段名 字段里保存数据的类型int(11)【(数据的长度)约束】
字段名 字段里保存数据的类型【(数据的长度)约束】
字段名 字段里保存数据的类型【(数据的长度)约束】
字段名 字段里保存数据的类型【(数据的长度)约束】
字段名 字段里保存数据的类型【(数据的长度)约束】
......
);

注意:数据类型和约束,接下来用专门的部分来讲,现在就用简单的整数类型int,字符串类型varchar来举例演示
案例:books里创建一张表book用来保存书的信息
create table book(
        id int(11),#书的编号
                b_name VARCHAR(10),#书名
                b_price DOUBLE, #书的价格
                publishDate DATETIME #出版日期
)   
#创建书的作者信息表
CREATE TABLE t_author(
    id INT(11),
        a_name VARCHAR(4),
        salary DOUBLE
)
2.2.表的修改:

首先看看可以修改表的那些东西?
1.可以修改字段名 CHANGE
2.可以修改字段的数据类型或约束 MODIFY
3.可以添加新字段 ADD
4.删除字段 DROP
5.修改表名 RENAME

2.2.1修改publish_date (注意后面要跟上类型)
ALTER TABLE book change COLUMN publishDate publish_date datetime; 
2.2.2修改publish_date 的时间类型(datetime)改为date日期型
alter table book modify column publish_date date;
DESC BOOK;#显示表的语句
2.2.3给作者表添加工资字段
ALTER table t_author add COLUMN salary DOUBLE;
DESC t_author;
2.2.4删除作者表工资字段
ALTER TABLE t_author DROP COLUMN salary;
DESC t_author;
2.2.5修改表名
ALTER TABLE t_author RENAME TO b_author;
DESC b_author;
总结:表结构的修改语法:
 ALTER TABLE 表名 add/drop/modify/change COLUMN 字段名 字段类型 【约束】
2.3.表的删除
      DROP TABLE IF EXISTS b_author ; //直接删除了
2.4.表的复制
        CREATE TABLE author(
        id INT(11),
            a_name VARCHAR(4),
            salary DOUBLE
    )
    
INSERT INTO `books`.`author`(`id`, `a_name`, `salary`) VALUES (1, '李白', '100000');
INSERT INTO `books`.`author`(`id`, `a_name`, `salary`) VALUES (2, '李白', '100000');
INSERT INTO `books`.`author`(`id`, `a_name`, `salary`) VALUES (3, '李白', '100000');
INSERT INTO `books`.`author`(`id`, `a_name`, `salary`) VALUES (4, '李白', '100000');
INSERT INTO `books`.`author`(`id`, `a_name`, `salary`) VALUES (5, '李白', '100000');
2.4.1.仅复制表的结构
CREATE TABLE c_author like author;
        
DESC c_author;
SELECT * FROM c_author;
2.4.2.复制表的结构和数据
CREATE TABLE c_author1 SELECT* FROM author;
    
SELECT * FROM c_author1;
2.4.3.只复制表结构和部分数据
DROP TABLE IF EXISTS c_author2 ; 
CREATE TABLE c_author2 SELECT * FROM author where id <=3;
SELECT * FROM c_author2;
2.4.4.只复制部分字段,且不要数据
   CREATE TABLE     c_author3 SELECT a_name FROM author WHERE 0;
     SELECT * FROM c_author3;

推荐阅读更多精彩内容

  • ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常。 O...
    我想起个好名字阅读 2,522评论 0 8
  • MYSQL 基础知识 1 MySQL数据库概要 2 简单MySQL环境 3 数据的存储和获取 4 MySQL基本操...
    Kingtester阅读 6,139评论 5 116
  • 转 # https://www.cnblogs.com/easypass/archive/2010/12/ 08/...
    吕少君阅读 6,062评论 0 42
  • 1.MySQL数据库 2.SQL语句 第一节课 ###1(MySQL数据库)数据库概念.avi 5...
    码了个农啵阅读 733评论 1 16
  • 亲爱的你,要学会爱自己,不要爱的太卑微,总有一个人爬山涉水为你而来 余生不忧伤
    铃铛princess阅读 37评论 0 1