启动客户端:
mysql
-
uroot
-
p123456
创建数据库
create database if not exists test default character set utf8
;
查看所有数据库
show databases
;
切换数据库
use test
;
删除数据库
drop database if exists test
;
查看当前库中的所有数据表
show tables
;
创建表
create table
if
not
exists tb_student(
id
bigint
primary key auto_increment,
--
列名称 数据类型 列级约束
username
varchar
(
20
)
not
null
-- primary key(id)
表级约束
)engine=innodb default charset utf8;
查看表结构
desc tb_student
;
查看详细创建信息
show create table tb_student
;
单行注释
select 1
;
#
说明信息
select 1
; --
说明信息
多行注释
/*
开头
*/
收尾
数据类型
存储数据是处理数据的第一步 。只有正确地把数据存储起来,才能进行有效的处理和分析。否则只能是
一团乱麻,无从下手。那么,怎样才能把用户各种经营相关的、纷繁复杂的数据,有序、高效地存储起
来呢? 在
MySQL
中,一个完整的数据存储过程总共有
4
步,分别是创建数据库、确认字段、创建数据
表、插入数据。
要先创建一个数据库,而不是直接创建数据表呢?
create table
if
not
exists tb_student(
id
bigint
primary key auto_increment,
--
列名称 数据类型 列级约束
username
varchar
(
20
)
not
null
-- primary key(id)
表级约束
)engine=innodb default charset utf8;
1
2
3
4
5
类型名称
说明
tinyint
1B
,取值范围
-128
到
127
smallint
2B
,取值范围为
-32768
到
32767
mediumint
3B
,取值范围为
-8388608
到
8388607
int
或者
Integer
4B
,取值范围为
2e9
bigint
8B
,取值范围为
9e18
float(n,m)
4B
,单精度浮点型,取值范围
3.4e38
,其中
n
为总位宽,
m
为小数位数。要求
n>=m
,如果不定义
nm
则默认提供
7-8
位的有效数据
double
8B
,双精度浮点型,取值范围
1.7e308
,总位数不超过
15
位
decimal
和
numeric
采用定点存放浮点数,具体字节数取决于定义时设置的参数。如果不设置位宽,则
默认
(10,0)
,总位宽最大
65
,小数位数最大
30
因为从系统架构的层次上看,
MySQL
数据库系统从大到小依次是【数据库服务器、数据库、数据
表、数据表的行与列】。
数据类型主要给列上添加域完整性约束。开发者设置列的数据类型后,
DBMS
会对添加的数据进行合法
性验证,如果不合法则报错,拒绝添加
数值型
5
种整型
tinyint
、
smallint
、
mediumint
、
int
和
bigint
,主要区别就是取值范围不同,还可以在类
型前添加一个限制词
unsigned
,不允许添加负数
3
种浮点型:不能精确存放
float
和
double
,可以精确存放
decimal
和
numeric
unsigned
设置列为无符号型,只能存放大于等于
0
的数据,没有负数。当使用无符号类型时取值范围由
于没有负数部分,从而导致上限扩大一倍