MySQL数据类型;基本操作

MySQL数据类型:

整数型:存放整型数据

tinyint:迷你整型,使用1个字节存储,表示的状态最多为256种(常用)  有符号 (

-128-127

)无符号(0-255)

smallint:小整型,使用2个字节存储,表示的状态最多为65536种

mediumint:中整型,使用3个字节存储

int:标准整型,使用4个字节存储(常用)

bigint:大整型,使用8个字节存储

--、

整型

-- 创建整型表

create table my_int(

int_1 tinyint,

int_2 smallint,

int_3 int,

int_4 bigint,

)charrset utf8;

-- c插入数据

insert into my_int

values(100,100,100,100); -- 有效数据

insert into my_int

values('a','b','199','f'); -- 无效数据;类型限定

insert into my_int

values(255,10000,10000,1000000); -- 错误,超出范围

-- 给表增加一个无符号类型

alert table my_int add int_5 tinyint unsigned; -- 无符号类型

-- c插入数据

insert into my_int

values(127,10000,10000,1000000,255);

-- 指定显示宽度为1

alert table my_int add int_6 tinyint(1) unsigned;

-- c插入数据

insert into my_int

values(127,0,0,0,255,255);

-- 显示宽度为2,0填充(不够两位,加0)

alert table my_int add int_7 tinyint(2) zerofill; --导致数据变成无符号类型

-- c插入数据

insert into my_int

values(1,1,1,1,1,1,1);

insert into my_int

values(100,100,100,100,100,100,100);

浮点型

小数型:带有小数点或者范围超出整型的数值类型

浮点型:小数点浮动,精度有限,而且会丢失精度

定点型:小数点固定,精度固定,不会丢失精度

--创建 浮点数表

create table my_float(

f1 float

f2 float(10,2), --10位在精度范围之外

f3 float(6,2) --六位在精度范围之内

)charset utf8;

-- c插入数据

insert into my_float

values(1000.10,1000.10,1000.10);

insert into my_float

values(1234567890,12345678.90,1234.56);

insert into my_float

values(3e38,3.01e7,1234.56);

insert into my_float

values(9999999999,99999999.99,9999.99); -- 后两个是最大值·

-- 超出长度插入数据

insert into my_float

values(123456,1234.12345678,123.9876543);--小数部分可以超出长度

insert into my_float

values(123456,1234.12,12345.56); -- 最后一个整数部分超出

-- 创建定点数biao

create table my_decimal(

f1 float(10,2),

d1 decimal(10,2)

)charset utf8;

-- 插入数据

insert into my_decimal

values(12345678.90,12345678.90); -- 有效数据

insert into my_decimal

values(1234.123456,1234.123456); --小数部分可以超出长度

-- 查看警告

show warnings;

-- 插入数据

insert into my_decimal

values(99999999.99,99999999.99); -- 没有问题

insert into my_decimal

values(99999999.99,99999999.999); --进位超出范围


MySQL(数据库)基本操作

新增数据库

数据库名字以字母数字下划线组成,不能以数字开头

数据库名字不能用关键字(已经被系统使用的字符)或者保留字(将来系统可能会用到的字符)

语法格式

--双中划线+空格(单行注释),也可以使用#号

数据的增删改查

--创建数据库

create database  mydb   charset  utf8;  #创建名为mydb的数据库

--创建关键字数据库

create database   database  charset  utf8;--报错

-- 使用反引号(`  `)可以用关键字命名

create database   `database` charset  utf8;

--创建中文数据库

create database  唐山  charset  utf8;

--如果报错解决方案;告诉服务器当前中文的字符集是什么

set names gbk;

在执行   create database  唐山  charset  utf8;

--查看所有数据库

show databases; 

--创建数据库

create database  informationtest  charset  utf8;

--查看一informationtest_开始的数据库(_需要被转义)

show databases like ' information_% ';  --相当于informationt%

show databases like ' information\_% ';

-- 查看数据库的创建语句

show create database mydb;

show create database `database`;-- 关键字需要使用反引号

-- 数据库的修改 数据库名字不可以修改 数据库的修改仅限库选项

-- 修改数据库informationtest 的字符集

alter database informationtest character GBK;

-- 删除数据库

drop database informationtest;

表的增删改差

-- 新增数据表

create table if not exists student(

-- 显示地将student表放到mydb数据库下

name varchar(10),

gender varchar(10),

number varchar(10),

age int

)charset utf8;

-- 创建数据库表

-- 先进入数据库

use mydb;

-- 创建表

create table class(

name varchar(10),

room varchar(10)

)charset utf8;

-- 查看所有表

show tables;

-- 查看部分表(模糊查询)

-- 查看以s结尾的表

show tables like '%s';

-- 查看表的创建语句

show create table student;

show create table student\g  -- \g 等价于 ;

show create table student\G  -- \G 将查到的结构旋转90度变成纵向

-- 查看表结构

desc class;

describe class;

show columns from class;

--重命名表:student表->my_student

rename table student to my_student;

--修改表选项;字符集

alert table my_atudent charset = GBK;

--给学生表增加ID,放到第一个位置

alert table my_student

 add column id int  

first;  #以分号;定位位置

--将学生表中的number学号字段变成固定长度,且放倒第二位(id)之后

alert table my_student modify number char(10) after id;

--修改学生表中的gender字段为sex

alert table my_student  change  gender sex vachar(10)

--删除学生表中的age年龄字段

alert table my_student drop age;

-- 删除数据表

drop table class

-- 插入数据

insert into my_student

value(1,'bc20200001','Jim','male'),

(2,'bc20200002','Lily','female');

--  插入数据:指定的字段列表

insert into my_student(number,sex,name,id) values

('bc20200003','male','syh',3),

('bc20200004','female','zyn',4);

--查看所有数据

select * from my_student;

-- 查看指定字段、指定条件的数据

select id,number,sex,name from my_student

where id=1; -- 查看满足id为1的学生信息

-- 更新数据

update my_student set sex='female' where name='Jim';

-- 删除数据

delete from my_student where sex='male';

-- 新增数据表

create table if not exists student(

-- 显示地将student表放到mydb数据库下

name varchar(10),

gender varchar(10),

number varchar(10),

age int

)charset utf8;

-- 创建数据库表

-- 进入数据库

use mydb;

-- 创建表

create table class(

name varchar(10),

room varchar(10)

)charset utf8;

-- 查看所有表

show tables;

-- 查看部分表(模糊查询)

-- 查看以s结尾的表

show tables like '%s';

-- 查看表的创建语句

show create table student;

show create table student\g  -- \g 等价于 ;

show create table student\G  -- \G 将查到的结构旋转90度变成纵向

-- 查看表结构

desc class;

describe class;

show columns from class;

你可能感兴趣的:(MySQL数据类型;基本操作)