一、数据库的操作
1. 显示当前的数据库
sql
SHOW DATABASES;
2. 创建数据库
语法:
sql
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 的数据库。
sqlCREATE DATABASE db_test1;
-
如果系统没有 db_test2 的数据库,则创建一个名叫 db_test2 的数据库,如果有则不创建。
sqlCREATE DATABASE IF NOT EXISTS db_test2;
-
如果系统没有 db_test 的数据库,则创建一个使用 utf8mb4 字符集的 db_test 数据库,如果有则不创建。
sqlCREATE DATABASE IF NOT EXISTS db_test CHARACTER SET utf8mb4;
3. 使用数据库
sql
use 数据库名;
4. 删除数据库
语法:
sql
DROP DATABASE [IF EXISTS] db_name;
**说明:**数据库删除以后,内部看不到对应的数据库,里边的表和数据全部被删除。
示例:
sql
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. 日期类型
三、表的操作
需要操作数据库中的表时,需要先使用该数据库:
sql
use db_test;
1. 查看表
sql
--查看表
show tables;
--查看表结构
desc 表名;
示例:
2. 创建表
语法:
sql
CREATE TABLE table_name (
field1 datatype,
field2 datatype,
field3 datatype
);
可以使用 comment 增加字段说明。
示例:
sql
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. 删除表
语法:
sql
DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ...
示例:
sql
-- 删除 stu_test 表
drop table stu_test;
-- 如果存在 stu_test 表,则删除 stu_test 表
drop table if exists stu_test;
4. 修改表
4.1 修改表名
语法1:
sql
alter table 旧表名 rename to 新表名;
语法2:
sql
rename table 旧表名1 to 新表名1,旧表名2 to 新表名2,旧表名3 to 新表名3,...,旧表名n to 新表名n;
4.2 增加列
**语法1:**在建表完后,需要增加一些列:
sql
alter table 表名 add column 列名 数据类型 [列的属性];
**语法2:**把新增的这一列,放到第一列:
sql
alter table 表名 add column 列名 数据类型 [列的属性] first;
**语法3:**在某一个列后面新增一列:
sql
alter table 表名 add column 列名 数据类型 [列的属性] after 指定列名;
4.3 删除列
语法:
sql
alter table 表名 drop column 列名;
4.4 修改列的信息
**注意:**在修改后的数据类型和属性一定要兼容表中现有的数据。
**语法1:**只能修改列的相关数据类型和属性。
sql
alter table 表名 modify 列名 新数据类型 [新属性];
**语法2:**既可以修改数据类型和属性,也可以修改列名。
sql
alter table 表名 change 旧列名 新列名 新数据类型 [新属性];
**语法3:**将某列设为表的第一列。
sql
alter table 表名 modify 列名 列的类型 列的属性 first;
**语法4:**将某列放到指定列的后面。
sql
alter table 表名 modify 列名 列的类型 列的属性 after 指定列名;