SQL语句

 

SQL语句分类

  • DQL(数据查询语句)

select

  • DML(数据操作语言)

insert,update,delete

  • DDL(数据定义语言)

create,alter,drop

  • DCL(数据控制语言)

grant,revoke

  • TCL(事物控制语言)

SAVEPOINT,ROLLBACK,SET TRANSACTION,COMMIT

数据库操作(ddl)

  • 创建数据库

create database 数据库名 charset = utf8

  • 删除数据库

drop database 数据库名

  • 切换数据库

use database 数据库名

  • 查看当前选择的数据库

select database()

表操作(ddl)

  • 查看当前数据库中的所有表

show tables

  • 创建表

auto_increment表示自动增长

create table 表名

CREATE TABLE `t_students` (
  `id` int(4) NOT NULL AUTO_INCREMENT,
  `sname` varchar(200) NOT NULL,
  `address` varchar(200) DEFAULT NULL,
  PRIMARY KEY (`id`)
) 
  • 修改表

alter table 表名 add|change|drop|modify 列名 类型

如alter table t_students add birthday datetime

  • 查看表结构

desc 表名

  • 更改表名称

rename table 原表名 to 新表名

  • 查看表的创建语句

show create table '表名'

数据操作(DML,DQL)

  • 查询

select * from 表名

  • 增加

全列插入:insert into 表名 values(...);

缺省插入:insert into 表名 (列1,……)values(值1,……);

同时插入多条数据:insert into 表名 values (……),(……)……,或者insert into 表名(列1,……)values(值1……),(值1,……)……;

  • 主键列自动增长(auto_increment),但是在全列插入时,需要占位,通常是使用0,插入成功后以实际数据为准。

  • 修改

update 表名 set 列1=值1,……where 条件;

  • 删除

delete from 表名 where 条件

  • 逻辑删除,本质操作就是修改操作update

alter table students add isdelete bit default 0;

如果需要删除,则:

update students isdelete=1 where……;

示例代码: 

DESC t_students;
SELECT * FROM t_students;
INSERT into t_students VALUES(1,'zx','beijing','2017-3-14');
INSERT into t_students (id,sname) VALUES(2,'ls');
INSERT into t_students VALUES(0,'ls','hangzhou','2017-3-15');
INSERT into t_students (id,sname) VALUES(3,'ww'),(4,'zxx'),(5,'lxx');
UPDATE t_students SET address='广州' where id = 5;
DELETE from t_students where address = 'beijing';

备份与恢复

数据备份

  1. 进入mysql库目录;
  2. 运行mysqldump命令:mysqldump -p 数据库名 > 备份的目录,然后按照提示输入mysql密码;

数据恢复

  1. 连接mysql,创建数据库;
  2. 退出链接,执行以下命令:mysql -uroot -p 数据库名 < 备份文件的目录,然后按照提示输入mysql密码;

你可能感兴趣的:(MYSQL)