第2章_管理数据库和表
1.管理数据库
①创建数据库
Create database 数据库名称 [character 选用的字符集 collate 选用的校对规则];
([ ]里面的内容表示可选)
如果要存储数据,首先,你需要选择你要存到哪一个数据库里面,怎么选择呢?使用use关键字
例如 use 数据库名
②删除数据库
使用关键字drop(扔掉)
语法: drop database 数据库名称
例如:
补充:
在MySQL里面,创建数据库的时候,可以同时指定字符集和校对规则:排序的方式,你要选择怎么排序
官方手册解释:字符集是一套符号和编码。校对规则是在字符集内用于比较字符的一套规则。
Character:字符集
Collate:校对规则
举例:
在MySQL里面查看所有的校对规则
Show collation;
(了解即可)
校对规则中后缀的意义
Ci 对大小写不敏感
Cs 对大小写敏感
Bin 基于二进制编码进行比较
③查看数据库
语法:show databases;
作用:显示出当前MySQL里面所有的数据库
显示创建数据库时的语句
语法:show create database 数据库名
例如
后面可以加上一个\G,目的是让其格式化输出
查看当前使用的数据库(因为有些时候我们会忘记我们当前用的是哪一个数据库)
语法:
Select database();
例如:
2.MySQL里面的数据类型
当我们要把数据存储到数据库中的时候,同样需要对数据进行分类,所以也存在有数据类型。
在MySQL中数据类型有五种:整数数据类型,浮点数据类型,字符串数据类型,日期和时间数据类型,二进制数据类型
①整数数据类型分为5种:TINYINT(1),SMALLINT(2),MEDIUMINT(3),INT(4),BIGINT(8)
②浮点数据类型分为3种:float(4),double(8),decimal(17)
Decimal(M,D)里面的M代表这个数据的总长度,D代表该小数的精度,数据总长度计算的时候,小数点也算作一位
例如:decimal(5,2)
录入101.342343的时候,输出101.34
Decimal(5,2)
录入3.1415926的时候,输出3.14
③字符串数据类型分为6种:char(定长),varchar(变长),TINYTEXT,TEXT,MEDIUMTEXT,LONGTEXT
所谓定长:就是你定义它有多长,它就有多长
Char(10)
Varchar(10)代表的是最大长度为10字节,但是你存入的数据小于10,例如只占一个字节的时候,实际所占用的空间就为1
Char和Varchar谁比较好?
事实上不存在谁好谁坏,各有各的好处
Varchar:省空间
Char:省时间
这两个究竟用哪个?
依情况而定。对于数据长度变化很大的用varchar,对于数据长度变化不怎么大的用char
TEXT相关的(TINYTEXT,TEXT,MEDIUMTEXT,LONGTEXT
)拿来存储文字
④日期和时间数据类型分为5种:date,time,year,datetime,timestamp。
Timestamp是时间戳
时间戳:代表1970年1月1号00时00分00秒到现在所经历的总秒数
1)什么是从1970年开始?
纪念UNIX,1970年又被成为UNIX元年
2)这玩意儿有什么用?
计算几天后或者几天前的日期
⑤二进制数据类型分为4种,TINYBLOB,BLOB,MEDIUMBLOB,LONGBLOB
一般用来存储视频,音乐等数据
总结:有这么多的数据类型,究竟有哪一个?
在够用的情况下尽量用小的(节省空间)
3.管理表(创建,修改,删除)
我们要存储数据的话,事实上是存储在表里面。
① 创建数据表
语法为:create table 表名(
字段名(列名) 数据类型[列的约束条件],
字段名(列名) 数据类型[列的约束条件],
字段名(列名) 数据类型[列的约束条件]
….
);
例如:
补充:我们建表的时候和建数据库一样,可以指定字符集和校对规则
例如:
② 查看数据表
查看数据表的话有3种方法
Describe 表名
有一种简写,Describe可以简写为desc
例如:
第二种方法:show tables;
它可以将该数据库中所有的表显示出来
例如:
第三种方法:查看建表语句
语法: show create table 表名;
例如
③ 修改表名
方式一:
语法:Alter table 表名 rename 新表名;
例如:
方式二:rename table 表名 to 新表名;
④ 添加一列
语法:
Alter table 表名 add 新的字段名(列名) 数据类型 [first/after 字段名];
例如:
我们在新添加一列的时候,是可以指定这一列的位置
First:这个关键字代表将新增的字段添加在最前面
After 字段名:代表将新添加的字段添加在某个字段的后面
例如:
First 关键字举例:
After 字段名 举例:
⑤ 修改一列的数据类型
语法: alter table 表名 modify 字段名 数据类型
Score的数据类型就已经被修改了
修改字段的顺序同样可以使用modify这个关键字
例如:
⑥ 修改表中的字段(字段名和数据类型一起改)
语法:alter table 表名 change 旧字段名 新字段名 数据类型
例如:
⑦ 删除字段
语法:alter table 表名 drop 字段名;
例如:
⑧ 删除表
非常简单,语法为:
Drop table 表名
举例: