数据库服务器→N多库→N张表→行与列
多表成库,表存于库下,一个库下面可以有多个表。库存在于数据库服务器,一个服务器下面可以有多个库。
如何连接服务器?
连接数据库所需要的工具:mysql作为数据库服务器来运行,任何满足其通信规范的软件都可以作为客户端来连接服务器,常用的客户端:mysql front navcat,基于web的phpMyAdmin,还有mysql自带的命令行客户端
命令如下:
mysql -h localhost -u username -p password
注意:-h如果不写,则默认连接localhost。
入门语句:
1、查看当前服务器下面,有哪些库(database)?
show databases;
2、创建一个数据库
create database DBName[字符集声明,整理声明];
3、删除数据库
drop database test2;
4、修改数据库(只能修改字符集和整理集,简单,先自己看)
能否修改数据库的名字?
答:不能
5、选择数据库
在进行表,行的相关操作时,要先选择数据库。
use DBName;(加不加分号都行)//选择相应数据库
6、如何查看一下库下面的所有表。
show tables;
7、如何删除一张表
drop table tableName;
8、如何修改表名
rename table oldName to newName;
9、查看表结构
desc tableName;
10、最简单的建表语句
create table 表名 ( 列1名称 列1类型, 列1名称 列1类型(最后一列后不要加‘,‘) )
这里先记住两种最常用列类型:int(整形),varchar(字符串)
11、解决字符集问题。
默认建立一般用utf8,而我们在windows下窗口是GBK,因此我们需要声明字符集。
set nams gbk;
在DOS命令行中操作时,发现的1个小问题,语句打错以后,应该退出本语句,再继续打新语句,也可以打\c退出本语句。
所谓建表:就是声明列的过程。
数据是以文件的形式放在硬盘上(也有放在内存里的)
列:不同的列类型占的空间不一样,选列的原则:够用,又不浪费。
建表语法:
create table 表名 ( 列1 [列属性 默认值], 列2 [列属性 默认值], ..... 列n [列属性 默认值] ) engine = 存储引擎 charset = 字符集
详解列类型:
一、数值型:
1、整形→tinyint/smallint/mediumint/int/bigint
从数学上来讨论tinyint
①占据空间
②存储范围
tinyint是微小的列类型,占用1字节。tinyint默认是有符号的,存储-128~127。
整形系列所占字节与存储范围的关系
定性:占字节越多,存储范围越大。
下图:是具体的数字分析:
整形系统的可选参数:XXint(M) unsigned zerofill
例:age tinyint(4) unsigned 或者 stunum smallint(6) zerofill。
unsigned:代表此列为无符号类型,会影响到列的存储范围(范围从0开始),(不加unsigned,则代表该列默认是有符号类型,范围从负数开始)。
列可以声明默认值,而且推荐声明默认值
not null default 0; not null default ‘‘;
zerofill:代表0填充,即:如果该数字不足参数M位(代表宽度,在zerofill时才有意义),则自动补0,补够M位。
如果没有zerofill属性,单独的参数M,没有任何意义。
2、小数型:float(M,D),decimal(M,D)
float(M,D):浮点小数,代表可存储一共M位(不含小数点),其中,小数点后D位。以(6,2)为例:-9999.99~9999.99。
decimal(M,D):定点小数,M,D的意义同上。
区别:decimal比float精度更高,适合存储货币等要求精确的数字。
见下例:
3、字符型
原文:http://www.cnblogs.com/yerenyuan/p/5297759.html