MySQL数据库和数据表的管理以及MySQL的数据类型

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

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

一、数据库的管理

1、创建数据库:
	例:创建数据库books
		create database if not exists books;
2、修改数据库字符集:(很少用到)
	例:修改数据库的字符集
		alter database books character set gbk;
3、删除数据库:
	drop database if exists books;

二、数据库里数据表的管理

1、创建表:
	语法:create table 表名(
					字段名 字段里保存的数据类型[(数据的长度) 约束],
					字段名 字段里保存的数据类型[(数据的长度) 约束],
					字段名 字段里保存的数据类型[(数据的长度) 约束]
	)
	案例:
	在数据库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、修改表
	a、可以修改字段名
		例:修改book表中字段publshDate为publish_date(注意后面要加上字段类型)
				alter table book change column publishDate publish_date datetime;
	b、可以修改字段的数据类型和约束
		例:修改publish_date的时间类型datetime改为date类型
				alter table book modify column publish_date date;
	c、可以添加新字段
		例:给book表添加字段author_id,类型为int
				alter table book add column author_id int;
	d、删除字段
		例:删除作者表中的工资字段、
				alter table t_author drop column salary;
	e、修改表名
		例:修改作者表名t_author为b_author
				alter table t_author rename to b_author;
	总结表结构的修改语法:
		alter table 表名 add/drop/modify/change column 字段名 字段类型[约束]、
3、表的删除
	语法:
		drop  table if exist b_author;	//直接删除表
4、表的复制
	a、仅复制表的结构
		create table c_author like author;
	b、复制表的结构和数据
		create table c_author1
				select * from author;
	c、只复制表结构和部分数据
		create table c_author2
				select name, salary from author where id = 2;
	d、只复制部分字段,且不要数据
		create table c_author3
				select in a_name from author where 0;	--mysql中where 0代表查询所有记录

MySQL中常用的数据类型

1、数值型:
		a、整型
		b、小数类型
				定点型
				浮点型
2、字符型
		a、短的文本:char、varchar
		b、长的文本:text、blob(二进制)
3、日期型
整数应该知道的知识点:
	1、设置无符号和有符号
			create table t_author(
					id int(11),		--默认有符号,如果加上unsigned,就变成无符号
					id int(11) unsigned,		--无符号
			)
	2、数据表格中显示的宽度,默认是不生效的,要生效的话后面需要加上zerofill,它的作用是实际值如果达不到宽度,前面用0补足,再有zerofill后数据类型自动转无符号模式,这个宽度和数值的大小范围没有关系,数值大小范围取决于数据类型
小数应该知道的知识点:
	1、浮点型:float(M, D)	double(M, D)
	2、定点型:decimal(M, D)
	create table t_float(\
			f1 float(5, 2),		--2表示小数点后保留位数
			f2 double(5, 2),		--5表示整数部分和小数部分合起来的总位数
			f3 decimal(5, 2)		--插入值超过范围,会变成临界值
	)
	如果不设置后面的M值和D值,float和double会根据插入的实际值来确定精度,decimal默认(10,1)表示总体10位数,小数位是0;
	如果要求小数点后的高精度需求的时候,建议用decimal
日期时间类型
类型大小(字节)格式用途
DATE3YYYY-MM-DD日期值
TIME3HH:MM:SS时间值或持续时间
YEAR1YYYY年份值
DATETIME8YYYY-MM-DD HH:MM:SS混合日期和时间值
TIMESTAMP4YYYYMMDD HHMMSS混合日期和时间值和时间戳
日期时间类型应该知道的知识点
	1、日期型的数值要用单引号包裹起来
	2、timestamp时间戳会受到时区的影响
字符串类型应该知道的知识点
	1、blob类型,用来存放较大的二进制文件,比如图片
	2、char(M)和varchar(M)里面的M值:表示能存到表格里的最大字符数
	3、char和varchar的区别:char给的空间是固定的,varchar根据实际情况给存储的空间,char的效率搞,varchar效率低
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值