免费男人做那个的视频网站,wordpress增加变量,软件开发机构,域名出售网站DDL 数据定义语言 目录概述一、库的管理1、库的创建2、库的修改【一般不修改#xff0c;容易出现错误】3、库的删除二、表的管理【重要】1、表的创建2、表的修改3、表的删除4、表的复制 【可以跨库复制】练习题概述
数据定义语言 库和表的管理 一、库的管理 创建、修改、删除…DDL 数据定义语言
目录概述一、库的管理1、库的创建2、库的修改【一般不修改容易出现错误】3、库的删除二、表的管理【重要】1、表的创建2、表的修改3、表的删除4、表的复制 【可以跨库复制】练习题概述
数据定义语言 库和表的管理 一、库的管理 创建、修改、删除(删除的是整个表而不是数据) 二、表的管理 创建、修改、删除
创建create 修改alter 删除drop
一、库的管理
1、库的创建
语法
create database 【if not exists】 库名【 character set 字符集名称】;案例创建库Books
create database Books;【补充】MySQL库中数据的存储路径 记录在电脑中的位置D:\MySQLData\MySQL\MySQL Server 8.0\Data
2、库的修改【一般不修改容易出现错误】
可以更改库的字符集
alter database books character set gbk;#utf8mb4要修改库名的话需要进本地的data文件夹重命名来改并重新启动MySQL80服务
3、库的删除
drop database books;
drop database if exists books;二、表的管理【重要】
create database if not exists books;
use books;1、表的创建
语法 create table 表名(列名 列的类型【(类型对应的长度) 列的约束】,create table 表名(列名 列的类型【(类型对应的长度) 列的约束】,……,create table 表名(列名 列的类型【(类型对应的长度) 列的约束】);案例创建表bookcreate table book(id int,bName varchar(20),price double,authorid int,publishdate datetime);
create table if not exists book(id int,bName varchar(20),price double,authorid int,publishdate datetime);
desc book;案例创建authors表create table authors(id int,au_name varchar(20),nation varchar(20));
desc authors;2、表的修改
修改列名alter table 表名 change 【column 】原列名 新列名 列的类型;修改列的类型或约束alter table 表名 modify column 列名 要修改的列的类型;添加列(默认将新列添加到所有列的后面)alter table 表名 add column 列名 列的类型;要添加到指定位置(不支持last)alter table 表名 add column 列名 列的类型 first;#将新列作为第一列
alter table 表名 add column 列名 列的类型 after 字段名;#将新列 放在某一列的后面删除列alter table 表名 drop column 列名;修改表名alter table 原表名 rename to 新表名;alter table 表名 add|drop|change|modify column 列名 【列的类型 约束】;#案例将book表中的publish列的名字修改为pubdate
alter table book change column publishdate pubdate datetime;
desc book;
#案例将book表中的publish列的类型修改为timestamp
alter table book modify column pubdate timestamp;
desc book;
#案例在authors表中添加年薪列annual,类型为double
alter table authors add column annual double;#必须加column
desc authors;
#案例删除authors表中的annual列
alter table authors drop column annual;
desc authors;
#注删除列的时候无法使用if exists关键字
#案例
alter table authors rename to book_author;
desc book_author;3、表的删除
语法
drop table【 if not exists】 表名;案例删除作者的信息表
drop table book_author;
#添加容错性处理
drop table if exists book_author;
show tables;#查看当前数据库的所有表 通用的写法
drop database if exists 旧库名;
create database 新库名;drop table 旧表名;
create table 表名();4、表的复制 【可以跨库复制】
create table authors(id int,au_name varchar(20),nation varchar(20));
insert into authors values(1,村上春树,日本),(2,莫言,中国),(3,冯唐,中国),(4,金庸,中国);
select * from authors;仅仅只能复制表的结构 create table copy1 like authors;desc copy1;select * from copy1;复制表的结构加数据create table copy2 select * from authors;
desc copy2;
select * from copy2;只复制部分数据(可选部分字段)create table copy3 select id,au_name from authors where nation中国;
desc copy3;
select * from copy3;推广仅仅复制某些字段(不加数据)
create table copy4 select id,au_name from authors where 12;
create table if not exists copy4 select id,au_name from authors where 0;
select * from copy4;练习题
创建表 dept1 nameNull?typeidint(7)namevarchar(25) create database if not exists test;
use test;
create table dept1(id int(7),name varchar(25));
desc dept1;将表 departments 中的数据插入新表 dept2 中create table dept2 select * from myemployees.departments;
select * from dept2;创建表 emp5 nameNull?typeidint(7)First_nameVarchar (25)Last_nameVarchar(25)Dept_idint(7) create table emp5(id int(7),First_name varchar(25),Last_name varchar(25),Dept_id int(7));
desc emp5;将列 Last_name 的长度增加到 50alter table emp5 modify column Last_name varchar(50);
desc emp5;根据表 employees 创建 employees2create table employees2 like myemployees.employees;
desc employees2;
select * from employees2;删除表 emp5drop table emp5;
show tables;将表 employees2 重命名为 emp5alter table employees2 rename to emp5;
show tables;在表 dept1 和 emp5 中添加新列 test_column并检查所作的操作alter table dept1 add column test_column int;
alter table emp5 add column test_column int;
desc dept1;
desc emp5;直接删除表 emp5 中的列 test_columnalter table emp5 drop column test_column;
desc emp5;