MySQL数据库与数据表操作
数据库的操作
1.数据库的创建
# 链接mysql数据库后,进入mysql后可操作数据
#1.创建库
create database if not exists 库名 default charset=utf8;
--1.数据库存在不执行,不存在就创建
--2.设置字符集为utf8
--3.无特殊情况下要求字符集为utf8/utf8mb4的字符编码
2.查看所有库
#1.查看所有库
show databases;
3.打开库/进入库/选择库
#打开/进入/选择库
use 库名
4.删除库
#删除库,库中的所有数据都将在磁盘中删除
drop databases 库名
数据表的操作
MySQL注释(两种)
1. #
2. --
1.创建表
语法格式:
create table 表名(字段名 类型 [约束],...)engine=innodb default charset=utf8mb4;
实例:
#创建一个users的表
create table users(
--创建id字段 正整数 不允许为NULL 设置成主键 主键自动递增
id int unsigned not null primary key auto_increment,
username varchar(5) not null,
password char(32) not null,
--设置默认值为20
age tinyint not null default 20;
)engine=innodb default charset=utf8mb4;
#查看表结构
desc 表名;
#查看建表语句
show create table 表名;
创建表的基本原则
- 字段名尽可能符合命名规范,且见名知意
- 必须有唯一标识,即主键定义,主键一般为数字自增
- 类型设置合理,长度合理
- 引擎建议使用innoDB,字符编码使用utf8/utf8mb4
2.修改表结构
添加字段
#语法:alter table 表名 add 添加的字段信息(默认追加到最后)
--在users表中追加一个num字段 不允许为空(不为空的默认为0/空格)
alter table users add num int not null;
--在指定字段后面追加字段 在users表中age字段后面添加一个email字段
alter table users add email varchar(50) after age;
--在表的最前面添加一个字段
alter table users add aa int first;
删除字段
#字段删除 alter table 表名 drop 被删除的字段;
alter table users drop age;
修改字段
语法格式:alter table 表名 change|modify 被修改的字段信息
change:可以修改字段名
modify:不能修改字段名
#修改表中的num字段类型,使用modify不修改表名
alter table users modify num tinyint not null default 12;
#修改表中的num字段为int类型 并且字段名改为mm
alter table users chang num mm int;
#在一般情况下,无特殊要求不要轻易修改表结构
3.修改表名
#语法:alter table 原表名 rename as 新表名
4.更改表中的自增的值
#在常规情况下,auto_increment 默认从1开始继续递增,下面的方式使得表中的自增值从1000开始
alter table users auto_increment = 1000;
在查看表单创建字段就可以看到自增到多少,且对现有的数据不影响
5.表引擎
表引擎有innodb和myisam等
#查看表引擎:
1.show create table 表名\G;
2.show table status from 库名 where name = '表名'\G;
#修改表引擎语句
alter table users engine = 'myisam';
6.删除表
drop table 表名