数据库的配置
通过配置文件统一配置的目的:统一管理 服务端(mysqld),客户端(client)
配置mysqld(服务端) 的编码为utf8,那么再创建的数据库,默认编码都是采用utf8
配置流程:
(1) 在mysql安装根目录下,创建配置文件:my.ini
mac下配置文件名叫 my.cnf
(2) 设置配置文件内容并保存
修改数据库信息
修改字符编码
mysql>: alter database 数据库名 charset = 编码格式
表的修改
修改表名
mysql>: alter table 表名 change 旧字段 新字段 类型(长度)
修改字段名:
mysql>: alter table 表名 change 旧字段 新字段 类型(长度);
修改字段属性
mysql>:alter table 表名 modify 字段 新类型长度;
创建表的完整语法
mysql>: create table 表名 (属性名1 类型(长度) 约束 ,
... ... ...
属性名N 类型(长度) 约束
) engine = 引擎 default charset = utf8;
数据库表的引擎:驱动数据的方式 - 数据库优化
mysql>: create table t11(id int)engine = innodb;
mysql>: create table t12(id int)engine = myisam;
mysql>: create table t13(id int)engine = blackhole;
mysql>: create table t14(id int)engine = memory;
数据库的模式:
mysql支持的数据类型
整型
1.tinyint: 一个字节 取值范围 -128~127
2.smallint: 两个字节 取值范围 -32768~32767
3.mediumint:三个字节
4.int: 四个字节 取值范围 -2147483648~2147483647
5.bigint: 8个字节
约束
小练习
2、创建一个字符集为utf8的数据库,将数据库字符集修改为gbk
create database kll charset = 'utf8';
alter database kll charset = 'gbk';
3、创建一个学生student表,有主键id字段,name唯一字段、age字段、height字段、mobile字段
主键为自增字段
name和mobile联合唯一
age和height不可以出现负数
增加记录时,name和height字段必须赋值
增加记录时,age未赋值,用0填充,mobile未赋值,用Null填充
create table student2(id int primary key auto_increment,name varchar(20) not null unique key,age int check( age >0) default 0,height int check( height >0) not null,mobile int(15) default null,unique(name,mobile));
一次性插入一条数据
insert into student3 values(1,'tom',10,100,10000);
再一次性插入五条数据
insert into student3(name,age,height,mobile) values('bob',10,100,10000),('mary',10,100,1000),('aels',100,10,1000),('yu',10,100,1000),('uil',10,20,1000);
清空表,并清空主键自增记录
truncate table student3;