Data Defination Language 数据定义语言。创建数据库和表的不涉及到数据的操作。
ddl:创建数据库,创建和修改表
对数据库常见的操作:
操作数据库
-- 展示数据库
SHOW DATABASES;
-- ================数据库相关操作==========================
-- 创建数据库
CREATE DATABASE if NOT EXISTS lxz;
-- 使用数据库
USE lxz;
-- 删除数据库
DROP DATABASE if EXISTS lxz;
-- 修改数据库编码
ALTER DATABASE lxz CHARACTER SET utf8mb4;
ALTER DATABASE lxz CHARACTER SET utf8;
-- =================表的相关操作========================
-- 删除数据库表
DROP TABLE IF EXISTS student;
CREATE TABLE IF NOT EXISTS student(
sid INT,
name VARCHAR(20),
gender VARCHAR(20),
age int,
birth date,
address VARCHAR(20)
)
字段约束
字段名 字段类型(宽度) 约束条件 comment '字段说明',
-- 删除数据库表
DROP TABLE IF EXISTS student;
CREATE TABLE IF NOT EXISTS student(
sid INT,
name VARCHAR(20) COMMENT '姓名',
gender VARCHAR(20),
age int,
birth date,
address VARCHAR(20)
)[表的设置]
-- 查看当前数据库所有的表
SHOW TABLES;
-- 查看指定表的创建语句
SHOW CREATE TABLE student;
-- 查看表结构 属性的结构
DESC student;
-- 删除表
drop TABLE if EXISTS student;
-- 删除数据库表
DROP TABLE IF EXISTS student;
CREATE TABLE IF NOT EXISTS student(
sid INT,
name VARCHAR(20) COMMENT '姓名',
gender VARCHAR(20),
age int UNSIGNED, -- 设置无符号
birth date,
address VARCHAR(20),
score DOUBLE
)
数值类型:
tinyInt:1字节。有符号 ,-128-127 ,无符号的:0-255
smallInt:2字节。0-65535。-32768-32767
mediumInt:3字节
Int或Integer:4字节
BigInt:8字节。很大
浮点数
Float:4字节
double:8字节
decimal:socore DECIMAL(2,1) 整数部分+小数部分
字符串类型
char:定长。0-255
varchar:0-65535
tinyBlob:不超过255字符的二进制字符串
blob:0-65535
text:长文本
mediumBlob:二进制形式的中等长度文本数据
mediumText:中等长度的长文本数据
longBlob:二进制形式的极大文本数据
longText:极大文本数据
日期类型
date:yyyy-mm-dd 日期类型
time:hh:mm:ss 时间
year:yyyy年份
datetime:给什么时间就是什么时间
TIMESTAMP:时间戳和当前的时区有关系的
b YEAR,
c date,
d time,
f TIMESTAMP,
g datetime
修改表的列的数据
-- 添加新的列
ALTER TABLE student ADD dept VARCHAR(20) DEFAULT '计算机系' ;
ALTER TABLE 表名 ADD ;列名 类型(长度) 约束 ;
-- 修改列的名称和类型
-- 修改已有的列
ALTER TABLE student CHANGE dept department CHAR(30);
-- 删除列
ALTER TABLE student DROP test;
-- 修改表名
RENAME 旧表名 student TO 新表名称;
RENAME TABLE student TO new_student;
data manager langunage 数据库操作语言
就是对数据的增删改查的操作
-- 数据插入
INSERT INTO new_student(sid,name,gender) VALUES('1','张三','男');
INSERT INTO new_student(sid,name,gender) VALUES('1','张三','男'),('2','李四','男');
-- 不写(sid,name,gender)可以插入所有的数据但是需要前后对应,默认是全部的属性
-- 修改数据
-- 修改一个属性
UPDATE new_student SET name='张三修改' WHERE sid ='1';
-- 修改多个属性
UPDATE new_student SET name='张三修改',gender='女' WHERE sid ='1';
-- 找到唯一的id的数据并也修改了
UPDATE new_student SET name='张三修改',gender='女', sid='11' WHERE sid ='1';
-- 删除数据
DELETE FROM new_student WHERE sid='1';
-- 删除全部
DELETE FROM new_student;
TRUNCATE TABLE new_student; -- 把整个表全部删除并创建一个新的表
TRUNCATE new_student ;
主键和事务的操作是不一样的。