MySQL数据库基础语法总结

目录

精华总结

1. 数据库的操作

1.1 显示当前的数据库

1.2 创建数据库

2. 常用数据类型

2.1 数值类型

2.2 字符串类型

2.3 日期类型

3. 表的操作

3.1 查看表

3.2 查看表结构

3.3 创建表

3.4 删除表

4. 练习


精华总结

  • 操作数据库:

show databases ;        --显示

create database xxx ;        --创建

use xxx ;                --使用

drop database xxx ;        --删除

  • 常用数据类型:

INT:整型

DECIMAL(M, D):浮点数类型

VARCHAR(SIZE):字符串类型

TIMESTAMP:日期类型

  • 操作表:

show xxx ;        --查看

create table 表名 (

        字段名1  类型1 ,

        字段名2  类型2 ,

) ;        --创建

drop table 表名 ;        --删除

1. 数据库的操作

SQL不区分大小写

1.1 显示当前的数据库

show databases ;

1.2 创建数据库

create database 数据库名 ;

语法:(大写表示关键字,[]是可选项,CHARACTER SET: 指定数据库采用的字符集,COLLATE: 指定数据库字符集的校验(比较)规则 )

CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [, create_specification] ...]

create_specification:

      [DEFAULT] CHARACTER SET charset_name

      [DEFAULT] COLLATE collation_name

1.3 使用数据库

use 数据库名 ;

1.4 删除数据库

删除操作非常危险,在实际工作中不应该使用drop命令来删除任何数据库!

drop database 数据库名 ;

DROP DATABASE [IF EXISTS] db_name;

2. 常用数据类型

  • 整数:int
  • 小数:double,decimal
  • 字符串:varchar
  • 时间:datetime

2.1 数值类型

分为整型和浮点型:

数据类型大小说明对应java类型
BIT[(M)]M指定位数,默认为1二进制数,M范围从1到64,存储数值范围从0到2^M-1常用Boolean对应BIT,此时默认是1位,即只能存0和1
TINYINT1字节Byte
SMALLINT2字节Short
INT4字节Integer
BIGINT8字节Long
FLOAT(M, D)4字节单精度,M指定长度,D指定小数位数。会发生精度丢失Float
DOUBLE(M, D)8字节Double
DECIMAL(M, D)M / D最大值+2双精度,M指定长度,D表示小数点位数。精确数值BigDecimal
NUMERIC(M, D)M / D最大值+2和DECIMAL一样BigDecimal

decimal类型:能够更精确的表示小数,但付出很多的时间和空间的代价。

扩展资料:

数值类型可以指定为无符号(unsigned),表示不取负数。

1字节(bytes)= 8bit。

对于整型类型的范围:

  1. 有符号范围:-2^(类型字节数*8-1)到2^(类型字节数*8-1)-1,如int是4字节,就是-2^31到2^31-1
  2. 无符号范围:0到2^(类型字节数*8)-1,如int就是2^32-1

尽量不使用unsigned,对于int类型可能存放不下的数据,int unsigned同样可能存放不下,与其如此,还不如设计时,将int类型提升为bigint类型。

2.2 字符串类型

数据类型大小说明对应java类型
VARCHAR(SIZE)0-65,535字节可变长度字符串String
TEXT0-65,535字节长文本数据String
MEDIUMTEXT0-16 777 215字节中等长度文本数据String
BLOB0-65,535字节二进制形式的长文本数据byte[]

varchar是最常用的类型,(SIZE)表示这个字符串的最大长度,单位是字符。

2.3 日期类型

数据类型大小说明对应java类型
DATETIME8字节范围从1000到9999年,不会进行时区的 检索及转换。java.util.Date、 java.sql.Timestamp
TIMESTAMP4字节范围从1970到2038年,自动检索当前时 区并进行转换。java.util.Date、 java.sql.Timestamp

3. 表的操作

需要操作数据库中的表时,需要先使用该数据库:

use db_test ;

3.1 查看表

show tables ;

3.2 查看表结构

查看这个表的列有哪些,以及类型。即:describe(描述)

desc 表名;

3.3 创建表

语法:

列名在前,类型在后

CREATE TABLE table_name (

        field1 datatype,

        field2 datatype,

        field3 datatype

);

可以使用comment增加字段说明。示例:

create table stu_test(
    id int,
    name varchar(20) comment '姓名',
    password varchar(50) comment '密码',
    age int,
    sex varchar(1),
    birthday timestamp,
    amout decimal(13, 2),
    resume text
);

3.4 删除表

drop table 表名 ;

drop table if exists stu_test;

4. 练习

有一个商店的数据,记录客户及购物情况,有以下三个表组成:

  • 商品goods(商品编号goods_id,商品名goods_name, 单价unitprice, 商品类别category, 供应商provider)
  • 客户customer(客户号customer_id,姓名name,住址address,邮箱email,性别sex,身份证 card_id)
  • 购买purchase(购买订单号order_id,客户号customer_id,商品号goods_id,购买数量nums)

SQL:

--创建数据库
create database if not exists java101
default character set utf8;

--选择数据库
use java101;

--创建数据库表
--商品
create table if not exists goods(
	good_id int,
	goods_name varchar(32),
	unitprice int,
	category varchar(12),
	provider varchar(64)
);

--客户
create table if not exists customer(
	customer_id int,
	name varchar(20),
	address varchar(50),
	email varchar(20),
	sex varchar(5),
	card_id varchar(20)
);

--购买
create table if not exists purchase(
	order_id int,
	customer_id int,
	goods_id int,
	nums int
);
  • 4
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值