文章目录
大家好,我是晓星航。今天为大家带来的是 MySQL数据库基础 相关的讲解!😀
📤1. 数据库的操作📤
🐱1.1 查看(显示)当前的数据库🐱
SHOW DATABASES;
1)show 和 databases 之间有一个或者多个空格。
2)注意是databases,不是 database。
3)使用 英语分号 ; 结尾 。(客户端里的任何一个 sql 都需要使用 分号 来结尾)
这里就告诉我们有 5行 数据 消耗了0.00秒(second–>秒)
🐶1.2 创建数据库🐶
语法:
CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [, create_specification] ...] create_specification: [DEFAULT] CHARACTER SET charset_name [DEFAULT] COLLATE collation_name
注意:
1)是 database ,不是databases!!!
2)test1 是数据库名字。
数字,字母,下划线构成,数字不能开头 且名字不能是 sql 中的关键字(和咱们 Java 变量命名是一个道理)
3)如果就是想拿关键字作为数据库名字~~ 可以使用 反引号 来把数据库名给引起来!!! 例如database`
4)创建数据库的时候,名字不能重复
5)写 sql 的时候,sql 的关键字啥的都是大小写不敏感的。
create database
CREATE DATABASE
是一样的效果。
6)创建数据库的时候 还可以指定字符集~
那么这里的test1_2就是使用utf8来创建的
说明:
- 大写的表示关键字
- [] 是可选项
- CHARACTER SET: 指定数据库采用的字符集
- COLLATE: 指定数据库字符集的校验规则
示例:
- 创建名为 db_test1 的数据库
CREATE DATABASE db_test1;
说明:当我们创建数据库没有指定字符集和校验规则时,系统使用默认字符集:utf8,校验规则是:utf8_ general_ ci
- 如果系统没有 db_test2 的数据库,则创建一个名叫 db_test2 的数据库,如果有则不创建
CREATE DATABASE IF NOT EXISTS db_test2;
- 如果系统没有 db_test 的数据库,则创建一个使用utf8mb4字符集的 db_test 数据库,如果有则不创建
CREATE DATABASE IF NOT EXISTS db_test CHARACTER SET utf8mb4;
说明:MySQL的utf8编码不是真正的utf8,没有包含某些复杂的中文字符。MySQL真正的utf8是使用utf8mb4,建议大家都使用utf8mb4
🐭1.3 使用(选中)数据库🐭
use 数据库名;
🐹1.4 删除数据库🐹
语法:
DROP DATABASE [IF EXISTS] db_name;
说明:
- 数据库删除以后,内部看不到对应的数据库,里边的表和数据全部被删除
drop database if exists db_test1; drop database if exists db_test2;
此时也可以省略if exists
drop database db_test1; drop database db_test2;
✉️2. 常用数据类型✉️
🐰2.1 数值类型:🐰
分为整型和浮点型:
扩展资料
数值类型可以指定为无符号(unsigned),表示不取负数。
1字节(bytes)= 8bit。
对于整型类型的范围:
1.有符号范围:-2(类型字节数*8-1)到2(类型字节数*8-1)-1,如int是4字节,就是-231到231-1
2.无符号范围:0到2(类型字节数*8)-1,如int就是232-1
尽量不使用unsigned,对于int类型可能存放不下的数据,int unsigned同样可能存放不下,与其如此,还不如设计时,将int类型提升为bigint类型。
🐺2.2 字符串类型🐺
varchar(10)这里姓名最多几个字?
答:10个字,因为varchar括号里面的单位不是字节而是字符,一个字符就对应一个汉字。
如果你写了一个varchar(1024),此时不是真的占据了 1024 个字符这么大的空间,实际上是根据你存的数据长度动态调整的。
🐸2.3 日期类型🐸
📨3. 表的操作📨
需要操作数据库中的表时,需要先使用该数据库:
use test1;
🐨3.1 查看表结构🐨
desc 表名;
desc - > describe 的缩写。(描述一个表是啥样子的)
示例:
或者
use 数据库名; //先选中数据库 show tables; //来查看当前数据库下的所有数据表
查看当前数据库下的所有数据表
🐻3.2 创建表🐻
语法:
CREATE TABLE table_name ( field1 datatype, field2 datatype, field3 datatype );
可以使用comment增加字段说明。(注释)
但是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 );
注意:在MySQL编程使用的SQL中,我们的列的名字在前,类型在后。而C,Java等 是使用类型 变量名 = 0;
🐮3.3 删除表🐮
语法格式:
DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ...
示例:
-- 删除 stu_test 表 drop table stu_test; -- 如果存在 stu_test 表,则删除 stu_test 表 drop table if exists stu_test;
📯4. 内容重点总结📯
- 操作数据库:
-- 显示 show databases; -- 创建 create database xxx; -- 使用 use xxx; -- 删除 drop database xxx;
- 常用数据类型:
INT:整型
DECIMAL(M, D):浮点数类型
VARCHAR(SIZE):字符串类型
TIMESTAMP:日期类型
- 操作表:
-- 查看 show 表; -- 创建 create table 表名( 字段1 类型1, 字段2 类型2, ... ); -- 删除 drop talbe 表名;
📪5.练习题📪
有一个商店的数据,记录客户及购物情况,有以下三个表组成:
1.商品goods(商品编号goods_id,商品名goods_name, 单价unitprice, 商品类别category, 供应商provider)
2.客户customer(客户号customer_id,姓名name,住址address,邮箱email,性别sex,身份证card_id)
3.购买purchase(购买订单号order_id,客户号customer_id,商品号goods_id,购买数量nums)
SQL:
-- 创建数据库 create database if not exists bit32mall default character set utf8 ; -- 选择数据库 use bit32mall; -- 创建数据库表 -- 商品 create table if not exists goods ( goods_id int comment '商品编号', goods_name varchar(32) comment '商品名称', unitprice int comment '单价,单位分', category varchar(12) comment '商品分类', provider varchar(64) comment '供应商名称' ); -- 客户 create table if not exists customer ( customer_id int comment '客户编号', name varchar(32) comment '客户姓名', address varchar(256) comment '客户地址', email varchar(64) comment '电子邮箱', sex bit comment '性别', card_id varchar(18) comment '身份证' ); -- 购买 create table if not exists purchase ( order_id int comment '订单号', customer_id int comment '客户编号', goods_id int comment '商品编号', nums int comment '购买数量' );
单独拆分讲解:
1.商品goods(商品编号goods_id,商品名goods_name, 单价unitprice, 商品类别category, 供应商provider)
2.客户customer(客户号customer_id,姓名name,住址address,邮箱email,性别sex,身份证card_id)
3.购买purchase(购买订单号order_id,客户号customer_id,商品号goods_id,购买数量nums)
感谢各位读者的阅读,本文章有任何错误都可以在评论区发表你们的意见,我会对文章进行改正的。如果本文章对你有帮助请动一动你们敏捷的小手点一点赞,你的每一次鼓励都是作者创作的动力哦!😘