基本MySQL笔记
- 未设置环境变量之前需要在dos下进入mysql安装目录的bin目录执行 mysql -uroot(u用户名)-p进入数据库,设置完path环境变量之后可直接在其他目录下执行mysql -uroot -p 进入数据库
- MySQL命令需以英文分号“;”结束命令,结尾的符号可以被修改。命令不区分大小写,
- 启动mysql服务:
SQL语句的分类
DDL(date defination language)数据定义语言
作用:创建 删除 修改 库表结构(重点)
DML(date manipulation language)数据操作语言
作用:增 删 改 表的记录(重点)
DCL(date control language)数据控制语言
作用:用户的创建以及授权(懂即可)
DQL(date query language)数据查询语言
作用:查询数据(重点)
基本语法:
单行注释
#注释
-- (空格)注释
多行注释
/注释/
刷新: flush privileges;
查询:select 字段名(uid,username,password) from 数据库名.数据表名;
查询指定字段的值:select * from 数据库名.数据表名 where 字段=><值(字符型的要用‘’)
数据类型
整型
浮点型
定点型→→decimal(m,d)数字 ,
形式为decimal(数字位数,小数位数)数字
例:decimal(4,2)13.14
比浮点型精确,不会四舍五入
字符串型 char(长度) → 定长,不够用空格补,多了截掉
varchar(长度)→ 可变长度,根据字符长度自己调整
长文本类型 text
时间类型
DATE 日期值
TIME 持续时间
YEAR 年分值
DATETIME 混合日期时间值
TIMESTAMP 混合日期时间值,时间戳
字段名修饰
列名的修饰
unsigned(表示无负号,即值为正值)
auto_increment(自增)
default(默认值)
comment(对字段进行解释)
not null (非空)
索引
unique(唯一索引)
index(普通索引)
primary key(主键)
auto_increment必须制定为primary key
运算符
= (可用作赋值号和判断)
!= 与 <> (都是不等于的意思)
< > <= >=
or 或者 ||
and 且 &&
between…and
In (在什么里面) in(1,2,3) not in(不再里边)
创建数据表结构:
create table 表名**(**
列名 列类型 其他关键词,
…
列名 列类型
);
查看当前数据库的表:
show tables;
查看表结构:
desc 表名
插入数据:
insert into 表名(列1,列2,列3…) values(列值1,列值2…) 列和值是一一对应的
查看表中数据:
select * from 表名;
更新表中数据:
Update 表名 set 列1=列值1,列2=列值2, where条件
不加where条件会修改所有的记录
删除:
delete from 表名 where 条件
不加where条件会删除所有的记录
还有一个删除表记录就是 truncate 表名 是DDL的
创建用户
create user 用户名 @’IP地址’ identified by ‘密码’
(此用户只能在制定的ip地址上使用, 如果想用所有的ip都可以的话用 @%)
用户授权
grant 权限一,权限二,****… on 数据库名**.* to** 用户名**@IP地址(或者%****)**
(所有的数据库 就用 .* **所有的权限就用all或者all privileges*)**
撤销权限
revoke权限一,权限二… on 数据库名**.*from** 用户名**@IP地址(或者%****)**
查看用户权限
show grants for ‘用户名’ @’IP’
删除用户
drop user 用户名@IP地址