数据库

创建数据库

命令 描述
show databases; 查看当前数据库
select database(); 查看当前选择的数据库
show global variables like ‘port’; 查看当前库使用的端口
show variables like ‘character%’; 查看mysql数据库服务器和数据库字符集
  1. create database books charset = utf8;
  2. create database if not exists books; -- 容错处理,进行判断:存在,不创建,不存在,则创建

修改数据库的字符集

  1. alter database books character set gbk;

删除数据库

  1. drop database books;
  2. drop database if exists books;

数据表

创建数据表

命令 描述
show tables; 查看当前数据库中所有的表
desc students; 查看表的结构
show columns from students; 查看字段的结构
show create table students; 查看建表的语句及历史信息
  1. create table if not exists students( -- 表名后面需要跟上表中的列及类型
  2. id int,
  3. name varchar(25),
  4. age int,
  5. email varchar(255)),
  6. charset = utf8;
  7. create table if not exists terence_user (
  8. cid int auto_increment primary key, -- auto_increment表示自增长 , primary key表示主键
  9. name varchar(20) not null,
  10. age int not null,
  11. genger bit default 1,
  12. address varchar(20),
  13. isDelete bit default 0) charset = utf8;

修改表名【rename】

  1. rename table students to new_students;

修改表【alter】

  1. alter table new_students charset = gbk; -- 修改表的字符集

删除表【drop】

  1. drop table if exists new_terence_user;

复制表

  1. # 仅复制表的结构
  2. create table s1 like students;
  3. # 复制表的结构 + 数据
  4. create table s2 select * from students; -- 表的结构和数据一起复制过来
  5. # 仅仅只复制某些字段(不带数据)
  6. create table s3 select id,name from students where 0;
  7. # 只复制部分列和部分数据
  8. create table s4 select name,age from students where id=3;

修改字段

add,drop,modify,change,column + 列名【列类型,约束】

  1. -- 插入新的字段
  2. alter table students add score int;
  3. -- 修改字段类型 (将id字段修改成bigint)
  4. alter table students modify column id bigint;
  5. -- 修改字段名 (将列名name修改成xingming)
  6. alter table students change name xingming varchar(25);
  7. -- 修改字段长度为20
  8. alter table students modify column host varchar(20);
  9. -- 删除某个字段 (删除一列)
  10. alter table students drop column if exists email;