一、MySQL数据类型
1.数值型
SMALLINT: 2个字节
INT: 4个字节 // age int(10)
INTEGER:INT的同义词
BIGINT : 8个字节
FLOAT : 4个字节
DOUBLE : 8个字节 //score float(10,2)
2.字符串(字符)类型
CHAR:固定长度字符串 sex char(2) //可以求长度 CHAR_LENGTH('ssss')
VARCHAR:可变长度字符串 name varchar(20)
虽然VARCHAR使用起来较为灵活,但是从整个系统的性能角度来说,CHAR数据类型的处理速度更快,有时甚至可以超出VARCHAR处理速度的50%。
3.日期/时间类型
DATE: YYYY-MM-DD
DATETIME: YYYY-MM-DD HH:MM:SS
TIMESTAMP: YYYY-MM-DD HH:MM:SS // 时间戳TIMESTAMP列用于INSERT或UPDATE操作时可自动记录日期和时间.
TIME:HH:MM:SS
YEAR:YYYY
4.其他
BLOB 二进制数据,最大可达到4G
TEXT 和 BLOB 类型 对于字段长度要求超过 数255 个的情况下,MySQL 提供了 TEXT 和 BLOB 两种类型。根据存储数据的大小,它们都有不同的子类型。这些大型的数据用于存储文本块或图像、声音文件等二进制数据类型。
TEXT 和 BLOB 类型在分类和比较上存在区别。BLOB 类型区分大小写,而 TEXT 不区分大小写。大小修饰符不用于各种 BLOB 和 TEXT 子类型。比指定类型支持的最大范围大的值将被自动截短。
二、Navicat的应用
关于Navicat的百度说明:
Navicat是一套快速、可靠并价格相当便宜的数据库管理工具,专为简化数据库的管理及降低系统管理成本而设。它的设计符合数据库管理员、开发人员及中小企业的需要。Navicat 是以直觉化的GUI而建的,让你可以以安全并且简单的方式创建、组织、访问并共用信息。
(即,Navicat是数据库的管理工具,有它MySQL更好用,没有她MySQL也能用。但是,没有MySQL,Navicat就失去存在的意义)
三、SQL语言简介 //(结构化查询语言)
1.SQL语句是和DBMS“交谈”专用的语句,不同DBMS都认SQL语法。
2.SQL语句中字符串用单引号。
3.SQL语句是大小写不敏感的,不敏感指的是SQL关键字,字符串值还是大小写敏感的
4.SQL主要分
DDL(数据定义语言)Create Table、Drop Table、Alter Table等属于DDL,
DML(数据操作语言)Select、Insert、Update、Delete等属于DML
DCL(数据控制语言)控制存取许可、存取权限 GRANT、REVOKE 等属于DCL
四、创建表,和管理表
create database mydatabase1 //创建数据库
drop database mydatabase1; //删除数据库
show databases ; //显示所有的数据库
use mydatabase1 ; //指定默认数据库
show tables; //显示所有的表
describe userInfo ; //显示表结构
show create table userInfo //显示建表语句
(附:update userInfo set id=3 where id=5 这个操作是可以的,也就是说,在mysql里,是可以更新主键的值的)
create table userInfo ( id int(10) primary key auto_increment, name varchar(20), sex char(2), score float(4,2) );
注意:添加主键(primary key)的操作很有必要性。后面的auto_increment可以支持自动添加次序。
五、表删除语句(一定要记住,面试)
1.drop table userInfo //删除表
(用它删除数据与下面的区别,比如,原来有6条数据,主键自增(1-6),你执行了drop table userInfo以后,再往里面加一条数据,主键为7。)
2.truncate table userInfo //删除表中的数据
(速度快,会把自增的主键重新开始,表结构还在。比如,原来有6条数据,主键自增(1-6),你执行了truncate table userInfo以后,再往里面加一条数据,主键为1。)
六、表修改语句(也需要记下来)
alter table student add birth date;
alter table student change birth birthday date ;
alter table student modify sex char(4) not null ;
alter table student modify sex char(2) after birthday;
alter table student rename as stu;
alter table stu drop birthday;