前言
1、
SQL
语句不区分大小写。
MySQL之常用的SQL语句
SQL语句 | 用途 | 描述 |
---|---|---|
mysql -u root -p |
连接MySQL |
在命令行窗口中输入mysql -u root -p 命令,回车,然后输入MySQL 密码(不要忘记了密码,找回麻烦),再回车就连接上MySQL 了。最初都是使用root 用户登录,工作中不能一直使用root 用户登录。因为root 权限太大,风险很大,所以等创建好权限适合的用户后,就不要经常登录root 用户了。 |
create database test_db; |
创建数据库 | — |
show databases; |
查看所有数据库 | — |
create database MyDB_two character set utf8; |
创建数据库时设置字符编码 | character set 可以缩写成charset 。 |
show create database MyDB_two; |
查看数据库的编码方式 | — |
alter database MyDB_one character set utf8; |
修改数据库编码 | — |
use MyDB_one |
进入或切换数据库 | 使用use [数据库名] 进入或切换数据库。刚连接上MySQL 时,没有处于任何一个数据库中,如果要使用某一个数据库,就需要进入到这个数据库中。use [数据库名] 这个命令后面的分号可以省略,这是SQL 语句中唯一可以省略分号的语句。 |
select database(); |
显示当前数据库 | 进入数据库中,可以使用select database(); 来查看当前处于哪个数据库中。长时间操作数据库时,在很多数据库中来回切换后,查看当前的数据库,避免操作错了数据库。 |
show tables; |
查看当前数据库中的表 | — |
create table phone_table(pid INT, name CHAR(20), price INT); |
创建表 | — |
show create table phone_table; |
显示表信息 | 使用show create table [表名]; 可以显示表的字段、 MySQL 的引擎和默认的字符编码等信息。与显示数据库信息一样,show 只能显示已经创建的数据表的信息,不能在创建的同时显示信息。 |
desc phone_table; |
更直观的显示表信息 | — |
alter table phone_table add color CHAR(20); |
增加表字段 | — |
alter table phone_table drop price; |
删除表字段 | — |
alter table phone_table modify name VARCHAR(12); |
修改表字段的数据类型 | — |
alter table phone_table change name pname CHAR(18); |
修改表字段的数据类型和字段名称 | — |
drop table phone_table; |
删除表 | — |
show variables like '%time_zone%'; |
查看数据库时区 | — |
set time_zone='+8:00'; |
设置数据库会话时区 | — |
set global time_zone='+8:00'; |
设置数据库全局时区 | — |
system cls |
清屏 | – |
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 | TINYINT | -128~127 |
2 | SMALLINT | -32768~32767 |
3 | MEDIUMINT | -223~223-1 |
4 | INT | -231~231-1 |
5 | BIGINT | -263~263-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语句详细介绍
数据库的概念
1、结构化查询语言(
Structured Query Language
)简称SQL
;
2、数据库管理系统(Database Management System
)简称DBMS
;
3、数据库管理员(Database Administration
)简称DBA
,功能是确保DBMS
的正常高效运行。
SQL常用的3个部分
1、数据查询语言(
DQL
): 其语句也称“数据库检索语句”,用以从表中获得数据,保留字SELECT
经常使用,DQL
也是所有SQL
中用的最多的,其他保留字还有WHERE
,ORDER BY
,GROUP BY
和HAVING
这些保留字还与DML
一起使;
2、数据操作语言(DML
): 其余局包括动词INSERT
,UPDATE
和DELETE
。他们分别用于添加,修改和删除表中的行。也称动作语言;
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
语句。
查看数据库时区
show variables like '%time_zone%';
设置数据库会话时区
set time_zone='+8:00';
设置数据库全局时区
set global time_zone='+8:00';
查看数据库列表
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
。文章来源:https://www.toymoban.com/news/detail-644619.html
创建带约束的表
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 KEY
,A
表中的外键列。A
表中的外键列的值必须参照于B
表中的某一列(B
表主键)。文章来源地址https://www.toymoban.com/news/detail-644619.html
创建带注释的表
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 表名称;
到了这里,关于MySQL相关的SQL语句、数据库、数据表、字段、类型的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!