Mysql学习回顾札记

1.  Mysql中定义数据字段的类型对数据库的优化是很重要的,要学会选择合适的数据字段类型来进行时间效率、空间效率上的取舍。

Mysql支持多种类型定义,大致可以分为数值类型、日期\时间、字符串(字符)类型这三种类型。

数值类型:TINYINT、SMALLINT、MEDIUMINT、INT\INTEGER、BIGINT、FLOAT、DOUBLE、DECIMAL

日期和时间类型:DATETIME、DATE、TIMESTAMP、TIME、YEAR

字符串类型:CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT\ENUM、SET

其中CHAR和VARCHAR类型具有一定的区别,char的长度是不可变的,定义后每次都是存取固定的长度,而varchar的长度是可变的。例如,定义char[12]和varchar[12],存入‘2tong',char[12]的定义方式会以空格进行补全,补成12位后进行存储,而varchar[12]则只存储'2tong',读取数据的时候,char[12]需要使用trim()来去掉多余的空格,varchar则不需要。

char类型的存储速度比varchar快很多,因为长度固定,char类型更方便程序的存储和查找,也会占用更多的空间,难免会有多余的空格占位符占据空间,是一种以空间换取时间效率的方式,而varchar的空间效率是首位的。

char类型存储时,英文字符占用1个字节,汉字占据2个字节;varchar类型存储时,英文字符和汉字均占据2个字节。

!!!char和varchar类型,在存储或检索过程中不进行大小写转换。

2.一些常用的语句

show databases;  //显示所有的数据库名称

use database database_name ;  //使用指定的数据库

show tables; //显示指定数据库内的所有数据表名称

show columns from table_name;  //显示数据表的属性,属性类型,主键信息,是否为null,默认值等信息

show index from table_name;  //显示数据表的详细索引信息,包括PRIMARY KEY

show table status [from database_name] [like 'pattern'] \G  //显示指定数据库内,数据表名称符合pattern正则表达式规则的所有数据表的状态信息 \G表示按列打印

exit \\退出命令行

create database database_name;  //创建数据库

drop dataabase database_name; //卸载数据库

create table if not exists `2tong` (

`2tong_id` INT UNSIGNED AUTO_INCREMENT,

`2tong_class`  VARCHAR(100) NOT NULL,

`class_date`  DATE,

PRIMARY_KEY( `2tong_id` )  //可以用多列来定义主键,列间以逗号分隔即可

)ENGINE = InnoDB DEFAULT CHARSET = utf8;  //指明存储引擎 默认编码

//创建表如果不存在的话

drop table table_name;  //卸载表,会将数据和结构一并删除

truncate table table_name;  //清除表格内的数据,保留结构

猜你喜欢

转载自blog.csdn.net/orange_612/article/details/79359104