4.1 数据库操作
4.1.1 创建数据库
-- 创建数据库
CREATE DATABASE db1;
-- 判断是否存在,如果不存在则创建数据库db2
create database if not exists db2;
-- 创建数据库并指定字符集为gbk
create database if not exists db3 character set gbk;
4.1.2 查看数据库
-- 查看数据库
SHOW DATABASES;
-- 查看某个数据库的信息
SHOW CREATE DATABASE db3;
4.1.3 修改数据库
-- 修改数据库
ALTER DATABASE db3 CHARACTER SET utf8;
-- 查看某个数据库的信息
SHOW CREATE DATABASE db3;
4.1.4 删除数据库
-- 创建db2数据库
CREATE DATABASE if not exists db2;
-- 删除db2数据库
DROP DATABASE db2;
-- 查看数据库
SHOW DATABASES;
4.1.5 使用当前数据库
-- 查看正在使用的数据库
SELECT DATABASE();
-- 使用db3数据库
USE db3;
4.2 数据表操作
基本语法
-- 字段名就是列名,字段类型:数据类型,约束。多个字段之间使用逗号来分隔
create table 表名 (
字段名1 字段类型1 约束1,
字段名2 字段类型2 约束2
)
MySQL数据类型
数据类型 | 关键字 |
---|---|
整型 | int或integer |
浮点型 | double或float |
字符串型 | varchar或char |
日期类型 | date或datetime |
图示:
4.2.1 创建表结构
-- 创建数据库test1
create database if not exists test1;
-- 使用数据库test1
use test1;
-- 创建student表包含id整数,name变长字符串长20,sex性别定长型1,birthday字段日期类型
create table student(
-- 字段名,字段类型
id int,
name VARCHAR(20),
sex char(1),
birthday date
);
4.2.2 查看表结构
-- 查看数据库的所有表
SHOW TABLES;
-- 查看某个表结构
DESC student;
-- 查看创建表的SQL语句
SHOW CREATE TABLE student;
-- 创建相同的表结构
CREATE TABLE stu1 LIKE student;
-- 查看stu1表结构
DESC stu1;
4.2.3 删除表结构
-- 使用test1数据库
use test1
-- 显示数据库中所有表
show tables;
-- 创建数据表
create table stu2(
-- 字段名,字段类型
id int,
name VARCHAR(20),
sex char(1)
);
-- 直接删除表
DROP TABLE stu1;
-- 判断表是否存在并且删除stu2
DROP TABLE if EXISTS stu2;
4.2.4 修改表结构
添加表列ADD
alter table 表名 add 字段名 数据类型
修改列类型MODIFY
alter table 表名 modify 字段名 新的数据类型
修改列名和类型 CHANGE
alter table 表名 change 旧列名 新列名 数据类型;
删除列 DROP
alter table 表名 drop 列名;
修改表名
注:MySQL中没有直接修改库名的语句
rename table 旧表名 to 新的表名;
案列语句
-- 查看student的结构
DESC student;
-- 为学生表添加一个新的字段remark,类型为char(20)
ALTER TABLE student ADD remark CHAR(20);
-- 将student表中的remark字段的改成varchar(100)
ALTER TABLE student MODIFY remark VARCHAR(100);
-- 将student表中的remark字段名改成intro,类型varchar(30)
ALTER TABLE student CHANGE remark intro VARCHAR(30);
-- 删除student表中的字段intro
alter TABLE student DROP intro;
-- 将学生表student改成student2
RENAME TABLE student to student2;
-- 查看所有test01的数据表
SHOW TABLES;