前言
SQL(Structured Query Language)结构化查询语言,用于存取,查询,更新数据以及管理关系型数据库系统
SQL指令分为四类
DDL Data Defintion language 数据库定义语言
用于完成对数据库对象(数据表,数据库,视图,索引)的创建,删除,修改
DML Data Manipulation language 数据操作语言
用于完成对数据表中的数据添加,删除,修改
DQL Data Query language 数据查询语言
用于将数据表中的数据查询出来
DCL Data Control Laguage 数据控制语言
用于完成事务管理等控制型操作
本章学习数据库基本语句DDL,以下操作配置是MySQL8.0版本
一、DDL
1.数据库操作语句
查询所有数据库 |
SHOW DATABASES; |
查询当前数据库 |
SELECT DATABASE(); |
创建数据库 |
CREATE DATABASE [IF NOT EXISTS]数据库名 [DEFAULT CHARSET字符集] [COLLATE 排序规则]; |
删除数据库 |
DROP DATABASE [IF EXISTS] 数据库名 |
使用数据库 |
USE 数据库名 |
连接服务器
先输入 net start mysql80 启动MySQL服务
(80是我的版本,不一样的具体看环境变量配置)
关闭服务的命令是:net stop mysql80
接着输入 mysql -uroot -p 然后输入自己的服务器密码
代码演示
show databases; 查询所有数据库
create database if not exists lbh charset utf8mb4;
创建数据库 在当前数据库不存在lbh数据库时 字符集为utf8mb4
(如果不加入if not exists,当前数据库已经存在这个数据库时就会报错)
drop database [ if exists ] 数据库名 ; 删除数据库
use 数据库名; 使用数据库
出现 Database changed 说明已经进入到这个数据库里面
用select database();命令可以查询当前所处的数据库名
2. DDL 表操作 查询
查询当前数据库所有表 |
SHOW TABLES; |
查询表结构 |
DESC 表名; |
查询指定表的建表语句 |
SHOW CREATE TABLE 表名; |
演示
查询当前数据库所有表 SHOW TABLES;
查询表结构 DESC 表名;
查询指定表的建表语句 SHOW CREATE TABLE 表名
3. DDL 表操作 创建
表创建方式如下
下面我们来代码演示 如何创建下面的这个表
id |
name |
age |
gender |
1 |
小李 |
20 |
男 |
2 |
小黎 |
18 |
女 |
3 |
小叶 |
18 |
女 |
4. DDL 表操作 修改
添加字段
ALTER TABLE 表名 ADD 字段名 类型 (长度) [ COMMENT 注释 ] [ 约束 ];
修改数据类型
ALTER TABLE 表名 MODIFY 字段名 新数据类型 (长度);
修改字段名和字段类型
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型 (长度) [ COMMENT 注释 ] [ 约束 ];
删除字段
ALTER TABLE 表名 DROP 字段名;
修改表名
ALTER TABLE 表名 RENAME TO 新表名;
5. DDL 表操作 删除
删除表
DROP TABLE [ IF EXISTS ] 表名;
加入 IF EXISTS ,只有表名存在时才会删除该表,表名不存在,则不执行删除操作(如果不加该参数项,删除一张不存在的表,执行将会报错)。
删除表 然后重新创建
TRUNCATE TABLE 表名;
删除表的时候,表中的全部数据也都会被删除
6. DDL 数据类型
在上述的建表语句中,我们在指定字段的数据类型时,用到了int ,varchar,那么在MySQL中除了 以上的数据类型,还有哪些常见的数据类型呢
在MySQL中常用数据类型主要分为以下几类
- 数值类型
- 字符串类型
- 日期时间类型
数值类型
如:
1)年龄字段 -- 不会出现负数, 而且人的年龄不会太大
age tinyint unsigned
2)分数 -- 总分100分, 最多出现一位小数
score double(4,1)
字符串类型
如:
1). 用户名 username ------> 长度不定, 最长不会超过50
username varchar(50)
2). 性别 gender ---------> 存储值, 不是男,就是女
gender char(1)
3). 手机号 phone --------> 固定长度为11
phone char(11)
如:
1). 生日字段 birthday
birthday date
2). 创建时间 createtime
createtime datetime
总结
个人认为记住 int,decimal,char,varchar,date,datetime这些基本的就够日常开发使用了,我们的数据库管理系统都是不区分大小写的,但是编写规范的sql语句我们的关键字是建议使用大写。