创建数据库
-- create database 创建的数据库名;
create database test;
这里创建了一个名为 test 的数据库
选择需要使用的数据库
-- use 数据库名;
use test;
这里使用 test 数据库
创建数据表
-- create table 表名(字段名1 数据类型(长度) 约束,字段名2 数据类型(长度) 约束...);
create table stu(id int(12) primary key,name varchar(12) not null);
这里在 test 数据库中创建了一个名为 stu 的数据表 ,其字段有 id 其类型为int 长度为12 且为主键,name 其类型为 varchar 长度为12 不能为空
查看数据表结构
desc是describe的简写
-- describe 表名;
describe stu;
-- desc 表名;
desc stu;
查看了stu 表的表结构
修改数据表结构
添加字段
追加字段
alter table 表名 add 字段名 数据类型(长度);
-- alter table 表名 add 字段名 数据类型(长度);
alter table stu add sex int(2);
这里为 stu 表中追加了 sex 字段(类型为int,长度为2),然后用 desc 查看 stu 表的结果查看追加 sex 字段的情况
字段添加在最前面
alter table 表名 add 字段名 数据类型(长度) first;
-- alter table 表名 add 字段名 数据类型(长度) first;
alter table stu add sid int(18) first;
这里为 stu 表中添加了 sid 字段(类型为int,长度为18)用 first 关键字将 sid 字段添加在第一个,最后用 desc 查看 stu 表的结果查看添加 sid 字段的情况
字段添加在某个字段的后面
alter table 表名 add 字段名 数据类型(长度) after 在哪个字段的后面;
-- alter table 表名 add 字段名 数据类型(长度) after 在id字段的后面;
alter table stu add age int(2) after id;
这里为 stu 表中添加了 age 字段(类型为int,长度为2)用 after 关键字将 age 字段添加指定 id 字段的后面 ,最后用 desc 查看 stu 表的结果查看添加 age 字段的情况
修改字段
alter table 表名 change 改之前的字段 改之后的字段 字段类型(长度);
-- alter table 表名 change 改之前的字段 改之后的字段 字段类型(长度);
alter table stu change name stuName varchar(12);
这里为 stu 表中将name 字段改成了stuName,并修改了类型和长度,最后用 desc 查看 stu 表的结果查看字段修改的情况
删除字段
alter table stu drop 删除的字段名;
-- 删除stu表中的sid字段
-- alter table 表名 drop 删除的字段名;
alter table stu drop sid;
这里为 stu 表中删除了 sid 字段,用 desc 查看 stu 表的结果查看删除字段的情况
修改表名
alter table 表名 rename 修改之后的表名;
-- alter table 表名 rename 修改之后的表名;
alter table stu rename student;
1.这里将 stu 表的名字修改成 student
2.查看当前数据库中全部的表
show tables;
复制表
复制表结构及数据到新表
准备:由于student表中没有数据现添加几条数据,然后在对student表进行复制
create table 新表名 select * from 源表名;
-- create table 新表名 select * from 源表名;
create table one select * from student;
这里将 student 表 结构和数据全部复制到 one 表中,用 show tables; 命令查看当前数据库中的所有数据表,用 desc 查看 one 表的结构和 select 语句查询 one 表的全部数据,对比复制的student 表的结构和数据一样
只复制表结构到新表
create table 新表名 select * from 源表名 where false;
-- create table 新表名 select * from 源表名 where false;
create table two select * from student where false;
这里将 student 表 结构 two 表中,用 show tables; 命令查看当前数据库中的所有数据表,用 desc 查看 two 表的结构, select 语句查询 two 表的没有数据,说明只复制了 student 表的结构
使用关键字 LIKE 复制表结构
CREATE TABLE 新表名 LIKE 源表名;
-- CREATE TABLE 新表 LIKE 源表;
CREATE TABLE three LIKE student;
这里用 like 关键字,将 student 表 结构 three 表中,用 show tables; 命令查看当前数据库中的所有数据表,用 desc 查看 three 表的结构, select 语句查询 three 表的没有数据,说明只复制了 student 表的结构
复制表的部分字段及数据到新表
create table four as (select 字段1,字段2,... from student);
-- create table 新表名 as (select 字段 1,字段 2,...... from 源表名);
create table four as (select id,stuName from student);
这里将 student 表的 id 和 stuName 字段复制到 four 表中,用 show tables; 命令查看当前数据库中的所有数据表,用 desc 查看 four 表的结构和 select 语句查询 four 表的全部数据,
删除表
drop table 表名;
-- 删除一个表
-- drop table 表名;
drop table one;
-- 删除多个表
-- drop table 表名1,表名2,....;
drop table two,three,four;
删除 one表
同时删除 two , three , four 这几张表