一、数据库的操作
1. 显示当前的数据库
SHOW DATABASES;
2. 创建数据库
语法:
CREATE DATABASE [IF NOT EXISTS] db_name [create_specification...];//create_specification包括:[DEFAULT] CHARACTER SET charset_name[DEFAULT] COLLATE collation_name
说明:
- 大写的表示关键字
- [ ] 是可选项
- CHARACTER SET:指定数据库采用的字符集
- COLLATE:指定数据库字符集的校验规则
示例:
- 创建名为 db_test1 的数据库。
CREATE DATABASE db_test1;
- 如果系统没有 db_test2 的数据库,则创建一个名叫 db_test2 的数据库,如果有则不创建。
CREATE DATABASE IF NOT EXISTS db_test2;
- 如果系统没有 db_test 的数据库,则创建一个使用 utf8mb4 字符集的 db_test 数据库,如果有则不创建。
CREATE DATABASE IF NOT EXISTS db_test CHARACTER SET utf8mb4;
3. 使用数据库
use 数据库名;
4. 删除数据库
语法:
DROP DATABASE [IF EXISTS] db_name;
说明:数据库删除以后,内部看不到对应的数据库,里边的表和数据全部被删除。
示例:
drop database if exists db_test1;
drop database if exists db_test2;
二、常用数据类型
1. 数值类型
分为整型和浮点型:
扩展资料:
数值类型可以指定为无符号(unsigned),表示不取负数。
1字节(bytes)= 8bit。
对于整型类型的范围:
- 有符号范围:-2^(类型字节数*8-1)到 2^(类型字节数*8-1)-1,如int是4字节,就是 -2^31 到 2^31-1。
- 无符号范围:0 到 2^(类型字节数*8)-1,如 int 就是 2^32-1。
尽量不使用unsigned,对于int类型可能存放不下的数据,int unsigned同样可能存放不下,与其如此,还不如设计时,将int类型提升为bigint类型。
2. 字符串类型
3. 日期类型
三、表的操作
需要操作数据库中的表时,需要先使用该数据库:
use db_test;
1. 查看表
--查看表
show tables;--查看表结构
desc 表名;
示例:
2. 创建表
语法:
CREATE TABLE table_name (field1 datatype,field2 datatype,field3 datatype
);
可以使用 comment 增加字段说明。
示例:
create table stu_test (id int,name varchar(20) comment '姓名',password varchar(50) comment '密码',age int,sex varchar(1),birthday timestamp,amout decimal(13,2),resume text
);
3. 删除表
语法:
DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ...
示例:
-- 删除 stu_test 表
drop table stu_test;-- 如果存在 stu_test 表,则删除 stu_test 表
drop table if exists stu_test;
4. 修改表
4.1 修改表名
语法1:
alter table 旧表名 rename to 新表名;
语法2:
rename table 旧表名1 to 新表名1,旧表名2 to 新表名2,旧表名3 to 新表名3,...,旧表名n to 新表名n;
4.2 增加列
语法1:在建表完后,需要增加一些列:
alter table 表名 add column 列名 数据类型 [列的属性];
语法2:把新增的这一列,放到第一列:
alter table 表名 add column 列名 数据类型 [列的属性] first;
语法3:在某一个列后面新增一列:
alter table 表名 add column 列名 数据类型 [列的属性] after 指定列名;
4.3 删除列
语法:
alter table 表名 drop column 列名;
4.4 修改列的信息
注意:在修改后的数据类型和属性一定要兼容表中现有的数据。
语法1:只能修改列的相关数据类型和属性。
alter table 表名 modify 列名 新数据类型 [新属性];
语法2:既可以修改数据类型和属性,也可以修改列名。
alter table 表名 change 旧列名 新列名 新数据类型 [新属性];
语法3:将某列设为表的第一列。
alter table 表名 modify 列名 列的类型 列的属性 first;
语法4: 将某列放到指定列的后面。
alter table 表名 modify 列名 列的类型 列的属性 after 指定列名;