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


前言

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


MySQL整数类型

序号 数据类型 数据范围
1 TINYINT -128~127
2 SMALLINT -32768~32767
3 MEDIUMINT -223~223-1
4 INT -231~231-1
5 BIGINT -263~263-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

数据库的启停操作

MySQL在系统启动时,会自动启动服务,无需手动启动了。
当然也可以手动启动或停止服务,以管理员身份运行cmd执行如下指令即可。


停止服务

net stop mysql80

启动服务

net start mysql80

连接远程数据库

mysql [-h 127.0.0.1] [-P 3306] -u root -p

-h: MySQL服务所在的主机IP
-P: MySQL服务端口号, 默认3306
-u: MySQL数据库用户名
-p: MySQL数据库用户名对应的密码
[]内为可选参数,如果需要连接远程的MySQL,需要加上这两个参数来指定远程主机IP、端口,如果
连接本地的MySQL,则无需指定这两个参数。


连接地数据库

mysql -u root -p

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

扫描二维码关注公众号,回复: 16267252 查看本文章

查看数据库列表

show databases;

创建数据库

create database 数据库名称;

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

create database if not extists 数据库名;

删除数据库

drop database 数据库名称;

删除数据库前检查是否存在

drop database if exists 数据库名称;

创建数据时设置编码

create database 数据库名称 character set utf8;

character set可以缩写成charset


修改数据库编码

alter database 数据库名称 character set utf8;

进入或切换数据库

use 数据库名称

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


显示当前数据库信息

select database();

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


查看当前数据库的所有表

show tables;

创建非约束表

create table 表名称(id INT, name CHAR(20), price INT);

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


创建带约束的表

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表主键)。


创建带注释的表

create table 表名称(id int comment '编号', name varchar(50) comment '姓名', age int comment '年龄', gender varchar(1) comment '性别') comment '用户表';

显示表信息

show create table 表名称;

更直观的显示表信息

desc 表名称;

更直观更详细的显示表信息

 show full columns from 表名称;

增加表字段

alter table 表名称 add color CHAR(20);

增加表字段及注释

alter table 表名称 add nickname varchar(20) comment '昵称';

修改表字段的数据类型

alter table 表名称 modify name VARCHAR(12);

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

alter table 表名称 change name pname CHAR(18);

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

alter table 表名称 change name pname CHAR(18) comment '姓名';

删除表字段

alter table 表名称 drop 字段名称;

修改表名

alter table 表名称 rename to 新表名称;

修改表的注释信息

alter table 表名称 comment '数据表';

删除表

drop table 表名称;

删除表前做校验

drop table if exists 表名称;

猜你喜欢

转载自blog.csdn.net/weixin_51157081/article/details/132220738