MySQL之常用SQL语句、设置时区、数据库、数据表、字段、类型


前言

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字符串类型

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

MySQL整数类型

序号数据类型数据范围
1TINYINT-128~127
2SMALLINT-32768~32767
3MEDIUMINT-223~223-1
4INT-231~231-1
5BIGINT-263~263-1

MySQL小数类型

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

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


MySQL时间类型

序号数据类型格式用途
1DATEYYYY-MM-DD日期
2TIMEHH:MM:SS时间
3YEARYYYY年份
4DATETIMEYYYY-MM-DD HH:MM:SS日期和时间
5TIMESTAMP10位或13位整数(秒数)时间戮

常用的SQL语句详细介绍

数据库的概念

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的数据类型对比

MySQLJava
INTint
BIGINTlong
DECIMALBigDecimal
DATE/DATETIMEjava.util.Date
VARCHARString

数据库的启停操作

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


创建带约束的表

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 表名称;
  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值