文章目录
- 操作数据库
- 创建:Create
- 查询:Retrieve
- 修改:Update
- 删除:Delete
- 使用数据库
- 操作表
- 常见的几种数据类型
- 创建:Create
- 复制表
- 查询:Retrieve
- 修改:Update
- 删除:Delete
操作数据库
创建:Create
命令 | 作用 |
---|---|
create database 数据库名称; | 创建数据库 |
create database if not exists 数据库名称; | 判断此名字数据库不存在,再创建数据库 |
create database 数据库名称 character set 字符集名 | 创建数据库,并指定字符集 |
查询:Retrieve
命令 | 作用 |
---|---|
show databases; | 查询所有数据库名称 |
show create database 数据库名称; | 查询数据库创建语句 |
修改:Update
命令 | 作用 |
---|---|
alter database 数据库名称 charater set 字符集名称; | 修改数据库的字符集 |
注意:先执行 修改语句,再执行,查看语句,发现已经数据库字符集已经被修改
删除:Delete
命令 | 作用 |
---|---|
drop database 数据库名称; | 删除数据库 |
drop database if exists 数据库名称; | 判断数据库存在,再删除 |
使用数据库
命令 | 作用 |
---|---|
select database(); | 查询当前正在使用的数据库名称 |
use 数据库名称; | 使用数据库 |
操作表
常见的几种数据类型
数据类型 | 注意 | |
---|---|---|
int | 整数类型 | |
double | 小数类型 | float(5,2) |
date | 日期(年月日) | yyyy-MM-dd |
datetime | 日期(年月日时分秒) | yyyy-MM-dd HH:mm:ss |
varchar | 字符串 | |
timestamp | 时间戳类型(年月日时分秒) | 如果将来不给这个字段赋值或赋值为null,则默认使用当前系统时间,来自动赋值 |
-
MySQL5.6之后,时间戳要这样写,才能生效
格式:列名 数据类型 default current_timestamp current_timestamp // 当向数据表执行 插入操作时,则无论这个字段有没有值都插入当前系统时间 on update current_timestamp // 在后续数据表中数据发生更新操作将自动更新执行时间
创建:Create
-
创建表格语法
CREATE TABLE 表名( 列名1 数据类型1, 列名2 数据类型2, 列名3 数据类型3, ... 列名n 数据类型n -- 注意:最后一行,不需要逗号 ); -- 不要忘了 ;
-
代码示例
CREATE TABLE student( sid INT, -- 学生编号 sname VARCHAR(20), -- 姓名 score FLOAT(5,2) -- 成绩,小数点保留2位 );
复制表
-
复制表格语法
CREATE TABLE 表名 LIKE 被复制的表名; -- 注意:只复制表结构,但是表中数据并不复制
-
代码示例
CREATE TABLE s LIKE student;
查询:Retrieve
-
查询命令
命令 作用 show tables; 查询某个数据库中所有表的名称 desc 表名; 查询表结构 -
代码示例
SHOW TABLES; -- 显示当前数据库所有的表格名称 DESC student; -- 显示 student 表的结构
修改:Update
-
修改命令
命令 作用 alter table 旧的表名 rename to 新的表名; 修改表名 alter table 表名 character set 字符集名称; 修改表的字符集 alter table 表名 add 新列名 新数据类型; 表中添加新的一列 alter table 表名 change 旧列名 新列名 新数据类型; 修改列名和数据类型 alter table 表名 modify 旧列名 新数据类型; 修改列的数据类型 alter table 表名 drop 列名; 删除列 -
代码示例
ALTER TABLE s RENAME TO stu; -- 将表名 s 修改成 stu ALTER TABLE stu CHARACTER SET gbk; -- 修改表的字符集为 gbk ALTER TABLE stu ADD address VARCHAR(100); -- 添加新的一列 地址 字符数据类型 ALTER TABLE stu CHANGE address ads VARCHAR(80); -- 将address列名修改成ads,数据类型也修改 ALTER TABLE stu MODIFY sid VARCHAR(11); -- 更改 sid 列的数据类型 ALTER TABLE stu DROP ads; -- 删除 ads 列
大家可一步一步执行,去左侧表中查看下变化。
删除:Delete
-
删除命令
命令 作用 drop table 表名; 删除表 drop table if exists 表名; 判断表存在,再删除 -
示例代码
DROP TABLE stu; -- 删除 stu 表 DROP TABLE IF EXISTS stu; -- 判断 stu 表存在,再删除
可对比着删除数据库来学习!
大家接下来可阅读这篇文章:SQL语句详解三-DML(数据操作语言)