基础sql语句
关于数据库
创建数据库
语法:
CREATE DATABASE [IF NOT EXISTS] database_name
[CHARACTER SET charset_name]
[COLLATE collation_name];
- [ ] 代表可选
database_name
是你想要创建的数据库的名称。CHARACTER SET
可选,用于指定数据库使用的字符集。COLLATE
可选,用于指定数据库字符集的校验规则
小tips:上下键可以找到历史记录
示例:
mysql> create database if not exists aaa
-> character set utf8
-> collate utf8_general_ci;
查看数据库
查看数据库支持的字符集和校验规则
show charset; //查看有哪些字符集
show collation; //查看有哪些校验规则
显示创建语句
show create database 数据库名;
查看数据库
show databases;
删除数据库
语法
DROP DATABASE [IF EXISTS] db_ name;
示例
ysql> drop database if exists aaa;
Query OK, 0 rows affected (0.01 sec)
更改数据库
语法
ALTER DATABASE db_name
[CHARACTER SET charset_name]
[COLLATE collation_name];
示例
mysql> alter database aaa
-> character set gbk
-> collate gbk_chinese_ci;
Query OK, 1 row affected (0.00 sec)
备份和恢复
备份
语法
mysqldump -P3306 -u root -p 密码 -B 数据库名 > 数据库备份存储的文件路径
mysqldump -u root -p 数据库名 表名1 表名2 > 数据库备份存储的文件路径
示例
恢复
关于数据库中的表
创建表
语法
CREATE TABLE table_name (
field1 datatype,
field2 datatype
) [character set 字符集] [collate 校验规则] [engine 存储引擎];
示例
删除表
语法
DROP TABLE [IF EXISTS] tbl_name [, tbl_name] ...
示例
修改表结构
语法
ALTER TABLE tablename ADD (column datatype [DEFAULT expr][,column datatype]...); ALTER TABLE tablename MODIfy (column datatype [DEFAULT expr][,column datatype]...); ALTER TABLE tablename DROP (column)
示例
查看表结构
desc 表名
更改表名和列的重命名
关于数据的语句
增加
语法
INSERT [INTO] table_name [(column [, column] ...)]
VALUES (value_list) [, (value_list)] ... value_list: value, [, value] ...
示例
查询
语法
SELECT [DISTINCT] {* | {column [, column] ...} [FROM table_name]
[WHERE ...] [ORDER BY column [ASC | DESC], ...] LIMIT ...
示例
修改
语法
UPDATE table_name SET column = expr [, column = expr ...] [WHERE ...] [ORDER BY ...] [LIMIT ...]
示例
tips :如果update后边没有条件则更新全表
删除
语法:
DELETE FROM table_name [WHERE ...] [ORDER BY ...] [LIMIT ...]
示例
truncate
TRUNCATE [TABLE] table_name
和delete的不同:
- 不能针对部分数据
- 无法完成回滚
- truncate会重置AUTO_INCREMENT
内外连接
内连接
select 字段 from 表1 inner join 表2 on 连接条件 and 其他条件;
外连接
- 左外连接
select 字段名 from 表名1 left join 表名2 on 连接条件
- 右外连接
select 字段 from 表名1 right join 表名2 on 连接条件;