目录
数据库的操作
1.数据库的创建
-
# 链接 mysql 数据库后,进入 mysql 后可以操作数据# 1. 创建库create database if not exists tlxy default charset =utf8 ;-- 1. 数据库 tlxy 如果不存在则创建数据库,存在则不创建-- 2. 创建 tlxy 数据库,并设置字符集为 utf8-- 3. 无特殊情况都要求字符集为 utf8 或者 utf8mb4 的字符编码
2.查看所有库
-
# 1. 查看所有库show databases ;
3.打开库/进入库/选择库
-
# use 库名use tlxy
4.删除库(删库有风险,动手需谨慎)
-
# 删除库,那么库中的所有数据都将在磁盘中删除。drop database 库名
数据表的操作
1.创建表
- create table 表名(字段名,类型,【字段约束】,。。。);
- 实例:
-
# 以下创建一个 users 的表create table users(-- 创建 ID 字段,为正整数,不允许为空 主键,自动递增id int unsigned not null primary key auto_increment ,-- 创建 存储 名字的字段,为字符串类型,最大长度 5 个字符,不允许为空username varchar ( 5 ) not null ,-- 创建存储 密码 的字段,固定长度 32 位字符, 不允许为空password char ( 32 ) not null ,-- 创建 年龄 字段,不允许为空,默认值为 20age tinyint not null default 20) engine = innodb default charset =utf8;# 查看表结构desc users ;# 查看建表语句show create table users;
创建表的基本原则:
-
表明和字段名 尽可能的符合命名规范,并且最好能够 ‘ 见名之意 ’表中数据必须有唯一标示,即主键定义。无特殊情况,主键都为数字并自增即可表中字段所对应的类型设置合理,并限制合理长度表引擎推荐使用 innodb ,并无特殊情况都要求为 utf8 或者 utf8mb4 的字符编码
2.修改表结构
语法格式:
alter table
表名
action (
更改的选项
)
添加字段
-
# 语法: alter table 表名 add 添加的字段信息-- 在 users 表中 追加 一个 num 字段alter table users add num int not null ;-- 在指定字段后面追加字段 在 users 表中 age 字段后面 添加一个 email 字段alter table users add email varchar ( 50 ) after age;-- 在指定字段后面追加字段,在 users 表中 age 字段后面 添加一个 phonealter table users add phone char ( 11 ) not null after age;-- 在表的最前面添加一个字段alter table users add aa int first ;
删除字段
-
# 删除字段 alter table 表名 drop 被删除的字段名alter table users drop aa;
修改字段
-
语法格式: alter table 表名 change | modify 被修改的字段信息change : 可以修改字段名,modify : 不能修改字段名。# 修改表中的 num 字段 类型,使用 modify 不修改字段名alter table users modify num tinyint not null default 12 ;# 修改表中的 num 字段 为 int 并且字段名为 nnalter table users change num mm int ;# 注意:一般情况下,无特殊要求,不要轻易修改表结构
3.修改表名
-
# 语法: alter table 原表名 rename as 新表名
4.更改表中的自增值
-
# 在常规情况下, auto_increment 默认从 1 开始继续递增alter table users auto_increment = 1000 ;
5.修改表引擎
-
# 推荐在定义表时,表引擎为 innodb 。# 通过查看建表语句获取当前的表引擎mysql> show create table users \G ;*************************** 1. row ***************************Table : usersCreate Table : CREATE TABLE `users` (PRIMARY KEY ( `id` )) ENGINE = InnoDB AUTO_INCREMENT = 1001 DEFAULT CHARSET =utf81 row in set ( 0.00 sec)# 直接查看当前表状态信息mysql> show table status from tlxy where name = 'users' \G ;*************************** 1. row ***************************Name: usersEngine : InnoDB# 修改表引擎语句alter table users engine = 'myisam' ;
6.删除表
- drop table 表名