MySQL----MySQL数据库入门----第二章 数据库和表的基本操作
2.1 数据库和数据库表的创建
①数据库的创建(在数据库系统中划分一块存储数据的空间):
create database 数据库名称 [charset 字符集];
②数据库表的创建
use 数据库名
create table 数据库表名(
字段1 数据类型 [属性],
字段2 数据类型 [属性],
字段3 数据类型 [属性],
...
字段n 数据类型 [属性]
);
注意:
数据库
(1)在①中,[ charset 字符集 ] 是可选的,用于设定数据库的默认字符集,即数据库存储使用的字符集。当不声明时,默认继承服务器的字符集 utf-8。
(2)关于字符集,常见的字符集:ASCII(英文字母,数字),GBK(国标扩展中文简体字符集,big5,繁体中文),UTF8。在开发时候,要注意三码合一,即数据库、PHP脚本、浏览器三者各自使用的字符集应该统一,建议显示为UTF8)。
(3)已经存在的数据库,无法再次创建。
(4)数据库命名以字母、数字、下划线组成,长度不超过32个字符
数据库表
(1)在创建数据库表之前,应该使用“use 数据库名”指定操作在哪个数据库中进行,否则会抛出“No database selected”错误。
2.2 数据库和数据库表的查看
①数据库的查看
查看全部数据库:
show databases;
查看某个创建的数据库:
show create database 数据库名字;
②数据库表的查看
查看当前数据库中全部数据库表:
show tables;
查看某个具体数据库表方法1:
show create table 数据库表名;
查看某个具体数据库表方法2:
desc 数据库表名;
注意:
数据库
(1)系统数据库(information_schema,performance_schema,mysql)不能删除。
(2)查看某个具体的数据库信息时,显示的信息包括数据库的创建语句及数据库选项(字符集)。
数据库表
(1)查看前,需要首先指定要查看的数据表所在的数据库。否则:no database selected。
(2)未选择数据库,可以通过from指定数据库名称。 show tables from 数据库名;
(3)查看某个具体数据库表方法1,可以显示数据表的结构、定义语句及字符集编码,若想显示结果更加美观,可以使用 show create table 数据库表名\G
(4)查看某个具体数据库表方法2,查看表的字段信息,其中包括字段名、字段类型等信息。
2.3 修改数据库和数据库表
①数据库的修改
alter database 数据库名 charset 新字符集;
②数据库表的修改
1、修改数据库表名
alter table 表名 rename [to] 新表名;
2、修改数据库表的字段名
alter table 表名 change 旧字段名 新字段名 新字段的字段类型;
3、修改数据库表的字段数据类型
alter table 表名 modify 字段名字 新的数据类型;
4、添加字段
alter table 表名 add 字段名 字段类型 [约束条件] [first|after 已存在的字段];
5、删除字段
alter table 表名 drop 字段名;
6、调整字段位置
alter table 表名 modify 字段名1 数据类型 first|after 字段名2;
注意:
数据库
(1)数据库的修改指的是修改数据库的字符集,数据库名称不能修改。
数据库表
(1)在修改数据库表的字段名中,新的字段名称后面的数据类型必须添加,哪怕新的名称的数据类型与之前的字段的数据类型相同,也必须添加。
2.4 删除数据库和数据库表
①数据库的删除
drop database 数据库名称;
②数据库表的删除
drop table 数据库表名称;
2.5 字段类型初步介绍
①整型
1、tinyint -128~127
2、smallint -3万~3万
3、int -800万~800万
4、mediumint -21亿~21亿
5、bigint 太大了,不会计算了
②小数
1、float float存储小数类型存在精度的问题
2、double
3、decimal(M,D) 对应精度要求比较高的,使用decimal类型,实现小数的精确存储。其原理为可以存储每位数字。一般用来存储与钱有关的数字。
注意:decimal类型的有效范围由M和D决定,其中M表示的数据的长度,D表示的小数点后的长度。例如将数据类型为decimal(6,2)的数据3.1415插入数据库后,显示的结果是3.14.
③字符串类型
1、char(M) char存储长度比较固定的字符串,如手机号,身份证号,序列号,邮编,速度快。
2、varchar(M) varchar一般用来存储长度变化比较大的字符串,如文章标题,商品名称,速度慢。
注意:
M为该字段可以存储的最多字符数,如varchar(10)。M参数不可以省略,此外不能超出指定的长度。
可以使用text类型,存储较长的字符串,无需指定字符串的具体长度。
④日期类型
1、year YYYY '1999'/1999 (支持数字或者字符串插入)
2、date YYYY-MM-DD 支持‘YYYY-MM-DD’或者‘YYYYMMDD’字符串格式插入
3、time HH:MM:SS 支持“HHMMSS”字符串/HHMMSS数字格式插入
4、datetime YYYY-MM-DD HH:MM:SS 支持“YYYY-MM-DD HH:MM:SS”/“YYYYMMDDHHMMSS”字符串或者YYYYMMDDHHMMSS数字格式插入
2.6 表的属性(约束)
①primary key 主键约束,唯一标识对应记录。主键字段的值不能重复,不能为空。
②foreign key 外键约束。
③null / not null 非空约束。
④default 设置字段的默认值,在没有录入时自动使用默认值填充。
⑤unique 唯一键,设置字段的值为唯一的,可以同时设置多个字段为唯一键。唯一键字段的值可以为空。
⑥auto_increment 设置字段为自动增长,默认从1开始自动分配编号。类型必须为整型。自增长字段必须为一个key。
⑦comment 字段注释
MySQL----MySQL数据库入门----第二章 数据库和表的基本操作的更多相关文章
- MySQL----MySQL数据库入门----第一章 数据库入门
第一章 数据库入门 1.1 数据库基础知识 1.1.1 数据库概述 数据不仅包括普通意义上的数字,还包括文字.图像.声音等.也就是说,凡是在计算机中用来描述事物的记录都可称作数据. 数据库的基本特点: ...
- mysql学习 第二章 数据库的基本操作
3.1 创建数据库 MySQL安装好之后,首先需要创建数据库,这是使用MySQL各种功能的前提.本章将详细介绍数据的基本操作,主要内容包括:创建数据库.删除数据库.不同类型的数据存储引擎和存储引擎 ...
- Mysql技术内幕-笔记-第二章 数据类型
第二章 数据类型 Mysql中尽量不要使用UNSIGNED,因为可能会带来一些意想不到的效果 SHOW CREATE TABLE tablename\G;查看表的创建语句 ZEROFILL会将宽度小于 ...
- MySQL基础之第1章 数据库概述
1.1.数据存储方式 1.人工管理阶段2.文件系统阶段3.数据库系统阶段 1.2.数据库泛型 数据库泛型就是数据库应该遵循的规则.数据库泛型也称为范式.目前关系数据库最常用的四种范式分别是:第一范式( ...
- S2 第二章数据库的实现
实现增删改查代码 1 select * from student --增加数据 insert into student (name,banji,xuehao) values(,) --修改数据 upd ...
- JAVA 入门第二章 (面对对象)
本渣渣鸽了一个月终于有时间更新.因为有c++基础,学起来这章还是比较简单的,本章我觉得是程序猿质变课程,理解面向对象的思想,掌握面向对象的基本原则以及 Java 面向对象编程基本实现原理,熟练使用封装 ...
- RabbitMQ 消息队列 入门 第二章(交换类型fanout)
1.安装完 RabbitMQ 之后,我们可以点击 http://localhost:15672/#/ 默认账号:guest 密码: guest 在这上面我们可以查看执行情况.管理连接.管理队列 ...
- Linux基础入门 第二章 Linux终端和shell
Linux终端 进入编辑IP地址命令:vi /etc/sysconfig/network-scripts/ifcfg-eth0 按键“i”:进行编辑 按键“ESC”:退出编辑 按键“:”:输入wq, ...
- java入门第二章——java编程基础
习题 一.填空题 (p)1.java中的程序代码都必须在一个类中定义,类使用(class)关键字来定义. (p)2.布尔常量即布尔类型的两个值,分别是(true)和(false) (p18)3.jav ...
随机推荐
- OkHttp3源码详解(三) 拦截器-RetryAndFollowUpInterceptor
最大恢复追逐次数: ; 处理的业务: 实例化StreamAllocation,初始化一个Socket连接对象,获取到输入/输出流()基于Okio 开启循环,执行下一个调用链(拦截器),等待返回结果(R ...
- jquery 之节点操作
一.添加节点 [添加内部子节点方法]:内部节点就是儿子节点 append() 在被选元素内部的结尾插入内容 appendTo() 将指定内容插入到被选标签内部的结尾 prepend() 在 ...
- spring cloud Eureka server配置
参考:http://www.ityouknow.com/springcloud/2017/05/10/springcloud-eureka.html spring boot版本:2.0.3.RELEA ...
- 深入理解C++中的初始化
C++经过这么多年的发展,已然成了一种文化和艺术,而这种艺术和文化并不是C++所固有的,是C++在各个方面的应用的总结和艺术化的结果.C++看起来比较复杂,但是深入其中你会发现C++是那么优美而富有哲 ...
- iOS亮屏解锁命令【iOS自动化测试】--使用ssh
前提:iOS越狱手机一个 越狱方法:使用pp助手, 爱思助手等 1.从Cydia安装以下软件: AppSync for iOSx(可安装破解软件).afc2add补丁(可访问整个iOS设备的系统文件) ...
- Jarsigner签名使用
转载请标明出处: http://www.cnblogs.com/why168888/p/6548544.html 本文出自:[Edwin博客园] 如何签名: jarsgner-verbose-keys ...
- Safari自动代理
1. 准备一个代理服务器,我使用的是GoAgent. 2. 准备一个PAC文件,我是从chrome导出的. 3. 准备一个本地文件服务器或web服务器,我是因为手头有一个使用NodeJS的小项目,所以 ...
- 虚拟机下的CentOS无法上网的解决办法
1.首先保证虚拟机的网络适配器为NAT模式 2.设置虚拟机的“编辑”-->“虚拟网络编辑器”中的VMnet8的DHCP的设置两个选项都勾选上. 3.设置物理主机,保证虚拟网关的IP地址为自动获取 ...
- Guava包学习---Sets
Sets包的内容和上一篇中的Lists没有什么大的区别,里面有些细节可以看一下: 开始的创建newHashSet()的各个重载方法.newConcurrentHashSet()的重载方法.newTre ...
- VirtualBox操作总结
1. VirtualBox安装 下载rpm,rpm -ivh 安装 2. 在图形界面打开virtual box virtualbox 3. vboxmanage打开虚拟机 vboxmanage sta ...