MySQL 的 DML语言,DDL语言

本文详细介绍了数据库的基本操作,包括数据库及表的创建、修改、删除,以及表数据的复制方法。同时,还深入探讨了不同数据类型的特性及其应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#库的管理
#CREATE DATABASE 库名
#创建books

CREATE DATABASE books;
#库的修改
RENAME DATABASE books to book;#不能用了,再文件里面修改
 
#库的删除
DROP DATABASE IF EXISTS books;

#表的管理
#表的创建

/* CREATE table 表名
   列名 列的类型[长度] ,
	 列名 列的类型 ,
	 列名 列的类型 ,
	 ...
	 列名 列的类型 
*/
#创建表book
CREATE table book(
id INT,
bookname VARCHAR(20),
bookprice DOUBLE,
author_id VARCHAR(20),
publish_date datetime 
);
desc book;


#创建表author
CREATE table author
(
id INT,
au_name VARCHAR(20),
nation VARCHAR(20)
);
desc author;

#表的修改
#修改列名
ALTER table book CHANGE COLUMN publish_date pubdate datetime;

#修改列的类型或约束
ALTER TABLE book MODIFY  COLUMN pubdate TIMESTAMP;

#添加新列
ALTER TABLE author ADD COLUMN annual DOUBLE;

#删除列
ALTER table author DROP COLUMN annual;

#修改表名
ALTER TABLE author RENAME book_author;

#表的删除
DROP TABLE boo_author;

SHOW TABLES;#查看当前库的所有表


#通用的写法
DROP DATABASE IF EXISTS 旧库名;
CREATE DATABASE 新库名;


CREATE table jj
(
id INT,
au_name VARCHAR(20),
nation VARCHAR(20)
);


DROP TABLE IF EXISTS jj;
CREATE TABLE 表名(
);

#表的复制
INSERT INTO book_author VALUES
(1,'书上春树','日本','1000'),
(2,'莫言','中国','1000'),
(3,'金庸','中国','1000');
desc book_author;


#复制表的结构
CREATE TABLE copy1 like book_author;

#复制表的结构和数据
CREATE TABLE copy2 
SELECT *
FROM book_author;

#复制表的部分数据
CREATE TABLE copy3
SELECT id,au_name
FROM book_author
WHERE nation='中国';

#复制某些列

CREATE TABLE copy4
SELECT id,au_name
FROM book_author
WHERE 0;


ues books;
CREATE TABLE dept1
(
id int(7),
d_name VARCHAR(29)
);


#跨库复制
#将 departmaents中的数据插入新表dept2
CREATE TABLE dept2
SELECT  department_id,department_name
FROM myemployees.departments;

#——、整型
/*
分类:
tinyint、 smallint、 mediumint、 int/integer. bigint

特点:
1.如果不设置无符号还是有符号,默认是有符号,如果想设置无符号,需要添加unsigned22.关键字如果插入的数值超出了整型的范围,会报out of range异常,并且插入临界值
3.如果不设置长度,会有默认的长度
长度代表显示的最大宽度,如果不够会用0在左边填充,但必须又 ZEROFILL 搭配
*/
#如何设置无符号和有符号
CREATE TABLE tab
(
t1 int(7) ZEROFILL ,
t2 INT(7) ZEROFILL
);
DESC TABLE tab;
INSERT INTO tab VALUES (123,123);
SELECT * FROM  tab;#0000123  0000123


#二、小数
/*
分类:1.浮点型float (M,D)double(M,D)
2.定点型dec (M,D)  decimal(M,D)特点:
特点
1
M:整数部位+小数部位
D:小数部位
如果超过范围,则插入临界值
2
M和D都可以省略
如果是decimal,则M默认为10,D默认为0
如果是float和double,则会根据插入的数值的精度来决定精度
3定点型的精确度较高,如果要求插入数值的精度较高如货币运算等则考虑使用
*/


#字符型
/*
较短的文本:char varchar
较长的交本:text
blob(较大的二进制)
L*/

/*

       写法         M的意思         特点     空间的耗费               效率
char  char (M)    最大的字符数可省略,为1固定长度的字符      比较耗费 高

varchar  varchar (M)  最大的字符数 可变长度的字符    比较节省         低

*/
CREATE TABLE tab_char (
c1 enum ('a', 'b','c')
);
INSERT  INTO  tab_char VALUES ( 'a' );
INSERT  INTO tab_char VALUES ( 'b') ;
INSERT  INTO tab_char VALUES ( 'c') ;
INSERT  INTO tab_char VALUES ( 'm' ) ;
INSERT  INTO tab_char VALUES( 'A') ;
SELECT *
FROM tab_char ;


#日期型

#分类
/*
date 保存日期
time 保存时间
year 保存年
datetime  \ TIMESTAMP 保存日期和时间
*/

CREATE table  tab_date(
t1 datetime,
t2 TIMESTAMP
);


INSERT INTO tab_date VALUES(NOW(),NOW());


SELECT *
FROM tab_date;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

笨笨且云雀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值