MySQL数据库常用操作
前言:
MySQL数据库一些常用命令笔记,笔记会不定时更新,可以长期关注旋风博客.
MySQL创建数据库
常用命令如下:
CREATE DATABASE <数据库名>;
语法使用格式:
CREATE DATABASE [IF NOT EXISTS] <数据库名>
[[DEFAULT] CHARACTER SET <字符集名>]
[[DEFAULT] COLLATE <校对规则名>];
[ ]中的内容是可选的.语法说明如下:
- <数据库名>:创建数据库的名称.MySQL 的数据存储区将以目录方式表示 MySQL 数据库,因此数据库名称必须符合操作系统的文件夹命名规则,不能以数字开头,尽量要有实际意义.注意在 MySQL 中不区分大小写.
- IF NOT EXISTS:在创建数据库之前进行判断,只有该数据库目前尚不存在时才能执行操作.此选项可以用来避免数据库已经存在而重复创建的错误.
- [DEFAULT] CHARACTER SET:指定数据库的字符集.指定字符集的目的是为了避免在数据库中存储的数据出现乱码的情况.如果在创建数据库时不指定字符集,那么就使用系统的默认字符集.
- [DEFAULT] COLLATE:指定字符集的默认校对规则.
MySQL查看数据库
常用命令如下:
SHOW DATABASES;
查看数据库的语法格式为:
SHOW DATABASES [LIKE '数据库名'];
语法说明如下:
- LIKE 从句是可选项,用于匹配指定的数据库名称.LIKE 从句可以部分匹配,也可以完全匹配.
- 数据库名由单引号' '包围.
MySQL修改数据库
常用命令如下:
ALTER DATABASE <数据库名>
//需要修改数据库的属性所以此处没有分号
修改数据库的语法格式为
ALTER DATABASE [数据库名] {
[ DEFAULT ] CHARACTER SET <字符集名> |
[ DEFAULT ] COLLATE <校对规则名>}
语法说明如下:
- ALTER DATABASE 用于更改数据库的全局特性.
- 使用 ALTER DATABASE 需要获得数据库 ALTER 权限.
- 数据库名称可以忽略,此时语句对应于默认数据库.
- CHARACTER SET 子句用于更改默认的数据库字符集.
MySQL删除数据库
常用命令如下:
DROP DATABASE <数据库名>;
修改数据库的语法格式为
DROP DATABASE [ IF EXISTS ] <数据库名>;
语法说明如下:
- <数据库名>:指定要删除的数据库名.
- IF EXISTS:用于防止当数据库不存在时发生错误.
- DROP DATABASE:删除数据库中的所有表格并同时删除数据库.使用此语句时要非常小心,以免错误删除.如果要使用 DROP DATABASE,需要获得数据库 DROP 权限.
MySQL选择数据库
常用命令如下:
USE <数据库名>;
在执行选择数据库语句时,如果出现“Database changed”提示,则表示选择数据库成功.
MySQL创建数据表
CREATE TABLE <表名>;
其语法格式为:
CREATE TABLE <表名> ([表定义选项])[表选项][分区选项];
其中,[表定义选项]的格式为:
<列名1> <类型1> [,…] <列名n> <类型n>
CREATE TABLE 语句的主要语法及使用说明如下:
- CREATE TABLE:用于创建给定名称的表,必须拥有表CREATE的权限.
- <表名>:指定要创建表的名称,在 CREATE TABLE 之后给出,必须符合标识符命名规则.表名称被指定为 db_name.tbl_name,以便在特定的数据库中创建表.无论是否有当前数据库,都可以通过这种方式创建.在当前数据库中创建表时,可以省略 db-name.如果使用加引号的识别名,则应对数据库和表名称分别加引号.例如,'mydb'.'mytbl' 是合法的,但 'mydb.mytbl' 不合法.
- <表定义选项>:表创建定义,由列名(col_name)、列的定义(column_definition)以及可能的空值说明、完整性约束或表索引组成.
- 默认的情况是,表被创建到当前的数据库中.若表已存在、没有当前数据库或者数据库不存在,则会出现错误.
提示:使用 CREATE TABLE 创建表时,必须指定以下信息:
- 要创建的表的名称不区分大小写,不能使用SQL语言中的关键字,如DROP、ALTER、INSERT等.
- 数据表中每个列(字段)的名称和数据类型,如果创建多个列,要用逗号隔开.
MySQL修改表
ALTER TABLE <表名> [修改选项]
修改选项的语法格式如下:
{ ADD COLUMN <列名> <类型>
| CHANGE COLUMN <旧列名> <新列名> <新列类型>
| ALTER COLUMN <列名> { SET DEFAULT <默认值> | DROP DEFAULT }
| MODIFY COLUMN <列名> <类型>
| DROP COLUMN <列名>
| RENAME TO <新表名> }
MySQL删除表
DROP TABLE <数据表名>;
语法格式如下:
DROP TABLE [IF EXISTS] 表名1 [ ,表名2, 表名3 ...]
对语法格式的说明如下:
- 表名1, 表名2, 表名3 …表示要被删除的数据表的名称.DROP TABLE 可以同时删除多个表,只要将表名依次写在后面,相互之间用逗号隔开即可.
- IF EXISTS 用于在删除数据表之前判断该表是否存在.如果不加 IF EXISTS,当数据表不存在时 MySQL 将提示错误,中断 SQL 语句的执行;加上 IF EXISTS 后,当数据表不存在时 SQL 语句可以顺利执行,但是会发出警告(warning).
MySQL向表中插入记录
INSERT
MySQL修改记录
UPDATE
MySQL删除记录
delete
MySQL清除表数据
trancate table
MySQL显示当前数据库中所有表的名称
show tables;
MySQL显示MySQL中所有数据库的名称
show databases;
MySQL显示表结构
describe