MySQL数据库基础操作:

1.数据库基本操作:

1.1:显示当前数据库:

sql 复制代码
show databases;
SHOW DATABASES;

1.1.1注意:在MySQL中,不区分字母大小写;

1.2:创建数据库:

sql 复制代码
CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [, 
create_specification] ...]
create_specification:
 [DEFAULT] CHARACTER SET charset_name
 [DEFAULT] COLLATE collation_name

1.2.1注意

1.在代码第四行:SET charset~name代表在创建数据库的时候,可以指定一个字符集;

2.在代码第五行:COLLATE为指定数据库字符集的校验规则,由于mysql不支持拼音序,所以它比较依赖第三方库,多用于Java代码实现。

1.2.2应用

第一条语句是创建数据库Java115,第二条语句加上了一个判断条件 if not existe 意思是判断java115数据库是否存在,如不存在则创建,如存在则不执行创建操作;

sql 复制代码
create database java115;
create database if not exists java115;//进行重复判定
create database if not exists java115 charset utf8mb4;//制定一个字符集

**1.2.3补充:**这里对上面提到的字符集进行一些补充:

1》.字母和数字我们通常用ASCII值进行表示(范围0-127),大小为一个字节;

2》.对中文来说,最常用的表示方法主要有两种:

a.GBK(早期使用的一种方案):2个字节表示一个汉字;

b.UTF-8(当下最流行的方案)变长编码:1-4个字节,对于中文,通常是三个字节;

特别的,在Java中 char 是2个字节表示一个汉字,这里使用的是UTF-16(它和UTF-8有一定关系);

c.UTF-8mb4才是字符集的完全体,UTF-8是它的一个子集。

1.3使用数据库:

sql 复制代码
use 数据库名;
use java115;

1.3.1注意:

对于一个数据库服务器·,一般有多个数据库,都应先选中再操作(使用数据库),这是对表进行操作的前提。

1.4:删除数据库:

sql 复制代码
DROP DATABASE [IF EXISTS] db_name;
drop database if exists db_test1;
drop database if exists db_test2;

1.4.1:注意:

1.在代码第二三行,这里的 if exists 是一种条件判断(安全机制),意思是仅当数据库存在时才执行删除,避免因数据库不存在而报错。

2.常用的数据类型:

2.1整形和浮点型:

说明:此图为借用。

2.2字符串类型:

2.3:日期类型:

3.表的操作:

**前提:**在操作数据库中的表之前需要先使用该数据库,语法见前;

3.0查看表:

sql 复制代码
show 表名;

3.1:查看表结构:

sql 复制代码
desc 表名;

3.2:创建表:

create table 表名 (列名 类型,列名 类型,列名 类型.............);

sql 复制代码
CREATE TABLE table_name (
 field1 datatype,
 field2 datatype,
 field3 datatype
);

还可以使用 comment 字段进行说明:

sql 复制代码
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
);

**注意:**1.engine存储引擎:mysql是数据库,本体是服务器,mysql的服务器是一个很复杂的软件,它包含了很多个模块,存储引擎就是其中之一,他负责如何在硬盘上进行存储的模块;MySQL提供了多种存储引擎,我们可以根据需求进行替换,但通常使用的是lnnodb这个引擎;

2.在MySQL中,如果表示表名/列名,当这个名字需要通过2个及以上的单词构成的时候,通常用"蛇形命名法"来命名,即用下划线分割多个单词。

例如:

sql 复制代码
create table student1
(student_id int,student_name varchar(10),student_age int,student_gender varchar(1));
desc student1;

3.3删除表(谨慎操作!!!):

sql 复制代码
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;

3.4修改表:

3.4.1:添加列:

sql 复制代码
ALTER TABLE table_name
ADD column_name data_type [constraint];
sql 复制代码
alter table student1 add class_id int after student_gender;

3.4.2:修改列:

sql 复制代码
ALTER TABLE table_name
ADD COLUMN column_name data_type [constraint];

3.4.3:删除列:

sql 复制代码
ALTER TABLE table_name DROP COLUMN column_name;

3.4.4:重命名列:

sql 复制代码
ALTER TABLE old_table_name
RENAME TO new_table_name;

应用:

sql 复制代码
alter table student1 rename COLUMN class_id to classId;

本章完.........下节更新增删查改功能.........

相关推荐
轻舟客丶2 小时前
ORA-03113的解决方案
数据库·经验分享·笔记·oracle
ヾChen2 小时前
头歌MySQL——复杂查询
数据库·物联网·学习·mysql·头歌
上下翻飞的屁3 小时前
jdbcTemplate执行sql后数据库字段没有更新问题解决
java·数据库·sql
悦光阴3 小时前
SQL Server 并发控制:Fabric Warehouse只支持快照隔离
大数据·运维·数据库·fabric
谅望者3 小时前
SQL子查询完全指南:从零掌握嵌套查询的三种用法与最佳实践
数据库·sql·数据库开发·子查询
阿萨德528号3 小时前
Redis 分布式锁进阶:跨语言场景下的锁兼容性与一致性保障
数据库·redis·分布式
开开心心就好3 小时前
电脑音质提升:杜比全景声安装详细教程
java·开发语言·前端·数据库·电脑·ruby·1024程序员节
让学习成为一种生活方式3 小时前
调控大肠杆菌胞内ATP和NADH水平促进琥珀酸生产--文献精读172
数据库
yoi啃码磕了牙3 小时前
Unity—Localization 多语言
java·数据库·mysql