mysql数据库之操作数据库、表

一、SQL简介

1、SQL的定义

结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。

2、SQL的分类

  • DDL(Data Definition Language)数据定义语言:用来定义数据库对象:数据库,表,列等。关键字:create, drop,alter 等
  • DML(Data Manipulation Language)数据操作语言:用来对数据库中表的数据进行增删改。关键字:insert, delete, update 等
  • DQL(Data Query Language)数据查询语言:用来查询数据库中表的记录(数据)。关键字:select, where 等
  • DCL(Data Control Language)数据控制语言:用来定义数据库的访问权限和安全级别,及创建用户。关键字:GRANT, REVOKE 等

二、DDL操作

数据库的操作

1、创建数据库

  • 语法:CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name [create_specification [, create_specification] ...]
  • 实例:
  1. 创建数据库,判断不存在,再创建:create database if not exists test;
  2. 创建数据库,并指定字符集:create database test character set utf8;

2、查询数据库

查询所有数据库

  • 语法:SHOW {DATABASES | SCHEMAS} [LIKE 'pattern']
  • 实例:show databases;

查询某个数据库的字符集

  • 语法:SHOW CREATE {DATABASE | SCHEMA} db_name
  • 实例:show create database test;

3、修改数据库

  • 语法:ALTER {DATABASE | SCHEMA} [db_name] alter_specification [, alter_specification] ...
  • 实例:alter database test character set utf8;

4、删除数据库

  • 语法:DROP {DATABASE | SCHEMA} [IF EXISTS] db_name
  • 实例:drop database if exists test;

5、使用数据库

  • 查询当前正在使用的数据库名称:select database();
  • 使用数据库:use test;

数据表的操作

1、创建表

创建表

  • 语法:CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [(create_definition,...)] [table_options] [select_statement]
  • 实例:
create table student(
	id int,
	name varchar(32),
	age int ,
	score double(4,1),
	birthday date,
	insert_time timestamp
);

复制表

  • 语法:CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [(] LIKE old_tbl_name [)];
  • 实例:create table stu like student;

2、修改表

修改表名

  • 语法:ALTER [IGNORE] TABLE tbl_name RENAME [TO] new_tbl_name
  • 实例:alter table student rename to stu;

修改表的字符集

  • 语法:ALTER TABLE tbl_name [DEFAULT CHARACTER SET charset_name] [COLLATE collation_name]
  • 实例:alter table student character set utf8;

添加一列

  • 语法:ALTER [IGNORE] TABLE tbl_name ADD [COLUMN] (column_definition,...)
  • 实例:alter table student add password varchar(32);

修改列名称

  • 语法:ALTER [IGNORE] TABLE tbl_name CHANGE [COLUMN] old_col_name column_definition
  • 实例:alter table student change name username varchar(32);

修改类型

  • 语法:ALTER [IGNORE] TABLE tbl_name MODIFY [COLUMN] column_definition
  • 实例:alter table student modify score float(4,1);

删除列

  • 语法:ALTER [IGNORE] TABLE tbl_name DROP [COLUMN] col_name
  • 实例:alter table student drop score;

3、删除表

  • 语法:DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name
  • 实例:drop table if exists student;

4、查询表

查询某个数据库中所有的表名称

  • 语法:SHOW [FULL] TABLES [FROM db_name] [LIKE 'pattern']
  • 实例:show tables;

查询表结构

  • 语法:{DESCRIBE | DESC} tbl_name [col_name | wild]
  • 实例:desc userinfo;

你可能感兴趣的:(mysql)