【一】库的增删改查
【0】导入数据文件
source D:\bjpowernode.sql
【1】创建数据库
语法:
create database [if not exists] 数据库名 [character set 编码字符集];
create databases db1;
# 设置库的默认编码
create databases db1 charset='gbk';
【2】查看数据库
show databases; -- 查看所有数据库
show databases like '%test%'; -- 查看名字中包含test的数据库
show create database 数据库名; -- 查看数据库的建库sql语句
【3】修改数据库
名字:
rename database 旧名字 to 新名字;
这个语法在 mysql-5.1.7 中被添加进来,到了mysql-5.1.23又去掉了,官方不推荐,会有丢失数据的危险!
字符编码:
alter database db2 charset='utf8';
【4】删库
drop database db2;
【5】查看当前库下面的表
(1)查看所有的表
show tables;
(2)查看指定的表
show create table 表名;
【二】表的增删改查
【1】查看当前所在库的名字
select database(); -- 查看当前使用的数据库
【2】切换到指定库
use 数据库名; -- 切换数据库
【3】创建表--》前提是已经切换到指定库了
create table student(
id int auto_increment, -- 字段名:id,数据类型:int整型,auto_increment整数自动增长+1
name varchar(10), -- 字段名:name, 数据类型:varchar字符串(长度限制最多10个字符)
sex int default 1, -- 字段名:sex,数据类型:int整型,默认值(default):1 相当于True
classes int, -- 字段名:classes, 数据类型:int整型,
age int, -- 字段名:age,数据类型:int整数,
description text, -- 字段名:description,数据类型:text文本
primary key (id) -- 设置主键(id) 每个表必须都有主键,用以区分不同行的数据
);
【3】查看当前表的详细信息
describe 表名;
或
desc t1;
【4】查看建表语句
show create table 表名;
【5】修改表
(1)修改表的字段类型
alter table 表名 modify 字段名 字段类型(宽度);
或
alter table 表名 change 旧字段名 新字段名 新数据类型;
(2)修改表名字重命名
alter table 原表名 rename 新表名;
(3)添加字段
默认是尾部追加字段
alter table 表名 add 字段名 字段类型;
指定追加位置
alter table 表名 add 字段名 字段类型 after 原字段名;
指定头部添加字段
alter table 表名 add 字段名 字段类型 first;
(4)删除字段
alter table 表名 drop 字段名;
(5)删除表
drop table 表名;
(6)以绝对路径的形式操作不同的库
create table db2.t1(id int);
(7)重置表信息
TRUNCATE table 表名;
【三】数据的增删改查
【1】数据的增加
列名与值一一对应
单条记录:
insert into user(name, age, selary) values('lisi', 18, 100);
多条记录:
insert into student values(002,'lzj',22,10),(003,'lll',22,10);
【2】数据的查看
select * from 表名;
【3】数据的更改
当id=1时,把名字改为xx
update 表名 set name='xx' where 条件;
update t1 set name='mengmeng' where id > 1;
【4】删除数据
delete from 表名 where 条件;
# 删除指定字段的数据
delete from t1 where id > 1;
# 删除指定字段的数据
delete from t1 where name='dream';
# 清空当前表的所有数据
delete from t1;
【四】MySQL支持哪些运算符?
运算符 | 说明 |
---|---|
= | 等于 |
<>或!= | 不等于 |
< | 小于 |
<= | 小于等于 |
> | 大于 |
>= | 大于等于 |
between ... and ... | 两个值之间,等同于 >= and <= |
is null | 为null (is not null 不为空) |
and | 并且 |
or | 或者 |
in | 包含,相当于多个 or (not in 不在这个范围内) |
not | not 可以取非,主要用在is或in中 |
like | like称为模糊匹配,支持 % 或下划线匹配 (% 匹配任意个字符) |
-
补充
-
-
and的优先级高于or。
-
between...and...当数值时为闭区间,且and前面的数值必须比后面大。若为字符,区间为前闭后开。
-
【五】处理函数
函数名 | 解释 | 用法 |
---|---|---|
lower | 转换小写 | lower(要转换字段名称) |
upper | 转换大写 | upper(要转换字段名称) |
substr | 取子串 | substr(被截取字段名称,起下标,截取长度) |
length | 取长度 用法: | length(字段名称) |
trim | 去除空格 | trim(字符串) |
str_to_date | 将字符串转换成日期 | str_to_date("日期字符串","日期格式") |
date_format | 格式化日期 | date_format(日期类型数据,"日期格式") |
format | 设置千分位 | |
round | 四舍五入 | round(要四舍五入的数字,四舍五入到哪一位),默认保留整数位 |
rand | 生成 0~1 随机数 | rand() |
ifull | 将 null 转换成一个具体的值 | ifull(字段名称,将要替换的值) |
-
数据处理函数是该数据本身特有的,有些函数可能在其它数据库不起作用;