MySQL相关的SQL语句、数据库、数据表、字段、类型

文章目录


前言

1、SQL语句不区分大小写。


MySQL整数类型

序号 数据类型 数据范围
1 TINYINT -128~127
2 SMALLINT -32768~32767
3 MEDIUMINT -2^23~2^23-1
4 INT -2^31~2^31-1
5 BIGINT -2^63~2^63-1

MySQL字符串类型

序号 数据类型 数据范围 用途
1 CHAR(n) 0~255字节 定长字符串
2 VARCHAR(n) 0~65535字节 长字符串
3 TEXT 0~65535字节 长文本数据
4 LONGTEXT 0~2^32-1字节 极大文本数据
5 BLOB 0~65535字节 二进制长文本数据
6 LONGBLOB 0~2^32-1字节 二进制极大文本数据

MySQL小数类型

序号 数据类型 数据用法 数据范围
1 Float Float(m,n) 7位有效数
2 Double Double(m,n) 15位有效数
3 Decimal Decimal(m,n) 28位有效数

m表示浮点数的总长度,n表示小数点后有效位数。


MySQL时间类型

序号 数据类型 格式 用途
1 DATE YYYY-MM-DD 日期
2 TIME HH:MM:SS 时间
3 YEAR YYYY 年份
4 DATETIME YYYY-MM-DD HH:MM:SS 日期和时间
5 TIMESTAMP 10位或13位整数(秒数) 时间戮

常用的基本SQL语句

序号 SQL语句 用途 描述 序号 SQL语句 用途 描述
1 mysql -u root -p 连接MySQL 在命令行窗口中输入mysql -u root -p命令,回车,然后输入MySQL密码(不要忘记了密码,找回麻烦),再回车就连接上MySQL了。最初都是使用root用户登录,工作中不能一直使用root用户登录。因为root权限太大,风险很大,所以等创建好权限适合的用户后,就不要经常登录root用户了。 2 create database test_db; 创建数据库 ---
3 show databases; 查看所有数据库 --- 4 create database MyDB_two character set utf8; 创建数据库时设置字符编码 character set可以缩写成charset
5 show create database MyDB_two; 查看数据库的编码方式 --- 6 alter database MyDB_one character set utf8; 修改数据库编码 ---
7 use MyDB_one 进入或切换数据库 使用use [数据库名]进入或切换数据库。刚连接上MySQL时,没有处于任何一个数据库中,如果要使用某一个数据库,就需要进入到这个数据库中。use [数据库名]这个命令后面的分号可以省略,这是SQL语句中唯一可以省略分号的语句。 8 select database(); 显示当前数据库 进入数据库中,可以使用select database();来查看当前处于哪个数据库中。长时间操作数据库时,在很多数据库中来回切换后,查看当前的数据库,避免操作错了数据库。
9 show tables; 查看当前数据库中的表 --- 10 create table phone_table(pid INT, name CHAR(20), price INT); 创建表 ---
11 show create table phone_table; 显示表信息 使用show create table [表名];可以显示表的字段、 MySQL的引擎和默认的字符编码等信息。与显示数据库信息一样,show只能显示已经创建的数据表的信息,不能在创建的同时显示信息。 12 desc phone_table; 更直观的显示表信息 ---
13 alter table phone_table add color CHAR(20); 增加表字段 --- 14 alter table phone_table drop price; 删除表字段 ---
15 alter table phone_table modify name VARCHAR(12); 修改表字段的数据类型 --- 16 alter table phone_table change name pname CHAR(18); 修改表字段的数据类型和字段名称 ---
17 drop table phone_table; 删除表 --- 18 --- --- ---

详细内容

数据库的概念

1、结构化查询语言(Structured Query Language)简称SQL
2、数据库管理系统(Database Management System)简称DBMS
3、数据库管理员(Database Administration)简称DBA,功能是确保DBMS的正常高效运行。


SQL常用的3个部分

1、数据查询语言(DQL): 其语句也称"数据库检索语句",用以从表中获得数据,保留字SELECT经常使用,DQL也是所有SQL中用的最多的,其他保留字还有WHEREORDER BYGROUP BYHAVING这些保留字还与DML一起使;
2、数据操作语言(DML): 其余局包括动词INSERTUPDATEDELETE。他们分别用于添加,修改和删除表中的行。也称动作语言;
3、数据定义语言(DDL): DDL主要用于操作数据库。


SQL与JAVA的数据类型对比

MySQL Java
INT int
BIGINT long
DECIMAL BigDecimal
DATE/DATETIME java.util.Date
VARCHAR String

链接数据库

java 复制代码
mysql -u root -p

root是用户名。语句末尾不能加分号,否则报错,这是MySQL唯一加分号报错的SQL语句。


查看数据库列表

java 复制代码
show databases;

创建数据库

java 复制代码
create database 数据库名称;

删除数据库

java 复制代码
drop database 数据库名称;

创建数据时设置编码

java 复制代码
create database 数据库名称 character set utf8;

character set可以缩写成charset


修改数据库编码

java 复制代码
alter database 数据库名称 character set utf8;

进入或切换数据库

java 复制代码
use 数据库名称

使用use 数据库名称进入或切换数据库。
刚连接上MySQL时,没有处于任何一个数据库中,如果要使用某一个数据库,就需要进入到这个数据库中。
use 数据库名这个命令后面的分号可以省略,这是SQL语句中唯一可以省略分号的语句。


显示当前数据库信息

java 复制代码
select database();

进入数据库中,可以使用select database();来查看当前处于哪个数据库。长时间操作数据库时,在很多数据库中来回切换后,查看当前的数据库,避免操作错了数据库。


查看当前数据库的所有表

java 复制代码
show tables;

创建表之前检查是否已存在,如果存在就移除

java 复制代码
drop table if exists '表名称';

注意表名称需要用引号括起来。


创建非约束表

java 复制代码
create table 表名称(id INT, name CHAR(20), price INT);

创建一张带有三个字段的表。
id字段的类型为INT
name字段的类型为CHAR(20)
pric字段的类型为INT


创建带约束的表

java 复制代码
create table 表名称(id BIGINT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(25) UNIQUE, email VARCHAR(25) NOT NULL, age INT DEFAULT 17);

表的约束
1、非空约束: NOT NULL,不允许某列的内容为空;
2、设置列的默认值: DEFAULT
3、唯一约束: UNIQUE,该表中,该列的内容必须唯一;
4、主键约束: PRIMARY KEY,非空且唯一;
5、主键自增长: AUTO_INCREMENT,从1开始,步长为1
6、外键约束: FOREIGN KEYA表中的外键列。A表中的外键列的值必须参照于B表中的某一列(B表主键)。


显示表信息

java 复制代码
show create table 表名称;

更直观的显示表信息

java 复制代码
desc 表名称;

增加表字段

java 复制代码
alter table 表名称 add color CHAR(20);

修改表字段的数据类型

java 复制代码
alter table 表名称 modify name VARCHAR(12);

修改表字段的数据类型和字段名称

java 复制代码
alter table 表名称 change name pname CHAR(18);

设置表所有字段值

java 复制代码
insert into 表名称(name, email, age) value ('东方不败', "xiao@qq.com", 16);

第一次设置表字段值的时,除了主键字段外,所以默认值为空的字段都需要设置值,否则报错。


修改表字段值

java 复制代码
update 表名称 set name="独孤求败" where name="张三";

查询表字段值

java 复制代码
 select 字段1, 字段2, 字段3 from 表名称;

去除重复字段

java 复制代码
select distinct 字段名称 from 表名称;

删除表字段

java 复制代码
alter table 表名称 drop 字段名称;

删除表

java 复制代码
drop table 表名称;
相关推荐
FIN技术铺2 小时前
Redis集群模式之Redis Sentinel vs. Redis Cluster
数据库·redis·sentinel
内核程序员kevin4 小时前
在Linux环境下使用Docker打包和发布.NET程序并配合MySQL部署
linux·mysql·docker·.net
CodingBrother4 小时前
MySQL 中的 `IN`、`EXISTS` 区别与性能分析
数据库·mysql
kayotin4 小时前
Wordpress博客配置2024
linux·mysql·docker
代码小鑫4 小时前
A027-基于Spring Boot的农事管理系统
java·开发语言·数据库·spring boot·后端·毕业设计
小小不董5 小时前
Oracle OCP认证考试考点详解082系列16
linux·运维·服务器·数据库·oracle·dba
甄臻9245 小时前
Windows下mysql数据库备份策略
数据库·mysql
内蒙深海大鲨鱼5 小时前
qt之ui开发
数据库·qt·ui
杀神lwz5 小时前
Java 正则表达式
java·mysql·正则表达式
不爱学习的YY酱5 小时前
【计网不挂科】计算机网络第一章< 概述 >习题库(含答案)
java·数据库·计算机网络