首页 > 技术文章 > sql语句数据类型以及创建表约束

cheng825 2019-09-23 21:32 原文

数据库的配置

通过配置文件统一配置的目的:统一管理 服务端(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;

推荐阅读