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

文章目录

  • 前言
  • MySQL整数类型
  • MySQL字符串类型
  • MySQL小数类型
  • MySQL时间类型
  • 常用的基本SQL语句
  • 详细内容
    • 数据库的概念
    • SQL常用的3个部分
    • SQL与JAVA的数据类型对比
    • 链接数据库
    • 查看数据库列表
    • 创建数据库
    • 删除数据库
    • 创建数据时设置编码
    • 修改数据库编码
    • 进入或切换数据库
    • 显示当前数据库信息
    • 查看当前数据库的所有表
    • 创建表之前检查是否已存在,如果存在就移除
    • 创建非约束表
    • 创建带约束的表
    • 显示表信息
    • 更直观的显示表信息
    • 增加表字段
    • 修改表字段的数据类型
    • 修改表字段的数据类型和字段名称
    • 设置表所有字段值
    • 修改表字段值
    • 查询表字段值
    • 去除重复字段
    • 删除表字段
    • 删除表


前言

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 -u root -p

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


查看数据库列表

show databases;

创建数据库

create database 数据库名称;

删除数据库

drop database 数据库名称;

创建数据时设置编码

create database 数据库名称 character set utf8;

character set可以缩写成charset


修改数据库编码

alter database 数据库名称 character set utf8;

进入或切换数据库

use 数据库名称

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


显示当前数据库信息

select database();

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


查看当前数据库的所有表

show tables;

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

drop table if exists '表名称';

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


创建非约束表

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


显示表信息

show create table 表名称;

更直观的显示表信息

desc 表名称;

增加表字段

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

修改表字段的数据类型

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

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

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

设置表所有字段值

insert into 表名称(name, email, age) value ('东方不败', "[email protected]", 16);

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


修改表字段值

update 表名称 set name="独孤求败" where name="张三";

查询表字段值

 select 字段1, 字段2, 字段3 from 表名称;

去除重复字段

select distinct 字段名称 from 表名称;

删除表字段

alter table 表名称 drop 字段名称;

删除表

drop table 表名称;

你可能感兴趣的:(MySQL,SQL,数据库,数据库,mysql,sql)