一、使用MySQL数据库
1. 登录MySQL
命令: mysql -h 主机名 -u 用户名 -p
- -h : 该命令用于指定客户端所要登录的MySQL主机名, 登录当前机器该参数可以省略;
- -u : 所要登录的用户名;
- -p : 告诉服务器将会使用一个密码来登录, 如果所要登录的用户名密码为空, 可以忽略此选项。
二、DDL(数据定义语言)
1. 操作数据库
1.1 创建数据库:create database 数据库名 character set utf8;
1.2 删除数据库:drop database 数据库名;
1.3 修改数据库:alter database 数据库名 character set utf8;
1.4 查看所有数据库:show databases;
1.5 切换(选择要操作的)数据库:use 数据库名;
2. 操作表
2.1 创建表:
create table 表名(
列名 列类型,
列名 列类型,
...
列名 列类型,
);
2.2 删除表:drop table 表名;
2.3 查看表结构:desc(describe)表名;或者show columns from 表名;
2.4 查看当前数据库中所有表名称:show tables;
2.5 查看指定表的创建语句:show create table 表名;
2.6 前缀:alter table 表名
◆ 添加列 alter table 表名 add 列名 列数据类型 [after 插入位置];
◆ 修改列类型 alter table 表名 modify 列名 列数据类型;
◆ 修改列名 alter table 表名 change 原列名 新列名 列类型;
◆ 删除列 alter table 表名 drop 列名;
◆ 修改表名称 alter table 原表名 rename to(可写可不写) 新表名;
3. 数据类型
● int: 整型
● double: 浮点型,例如double(5,2)表示最多5位,其中必须有2位小数,即最大值为999.99
● decimal:浮点型,在表单钱方面使用该类型,因为不会出现精度缺失类型
● char:固定长度字符串类型 char(255),数据的长度不足指定长度,补足到指定长度
● varchar:可变长度字符串类型 varchar(65535)
● text(clob):字符串类型
● blob:字节类型
● date:日期类型,格式为yy-MM-dd
● time:时间类型,格式为hh:mm:ss
● timestamp:时间戳类型
三、DML(数据库操作语言)增、删、改
1. 插入数据
insert [into] 表名 [(列名1, 列名2, 列名3, ...)] values (值1, 值2, 值3, ...);
插入一条记录:insert into students values(NULL, "王刚", "男", 20, "13811371377");
插入部分数据, 不按照列的顺序插入:insert into students (name, sex, age) values("孙丽华", "女", 21);
2. 修改数据
update 表名称 set 列名称=新值 where 更新条件;
例如:将id为5的手机号改为默认的"-": update students set tel=default where id=5;
3. 删除数据
delete from 表名称 where 删除条件;
例如:删除id为2的行: delete from students where id=2;
删除所有年龄小于21岁的数据: delete from students where age<20;
删除表中的所有数据: delete from students;
truncate table 表名:truncate 是DDL语句,它是先删除drop该表,再create该表,而且无法回滚!!!
四、DCL(数据库控制语言)
1.创建用户
create user 用户名@IP地址 identified by ‘密码’;
登录:mysql -h 主机名 -u 用户名 -p
create user 用户名@‘%’ identified by ‘密码’;
2.给用户授权
grant 权限1, .... , 权限n on 数据库.* to 用户名@IP地址
● 权限、用户、数据库
● 给用户分派在指定的数据库上指定的权限
● 例如:grant create,alter,drop,insert,update,delete,select on mydb1.* to user1@localhost
给user1用户分派在mydb1数据库上的create,alter,drop,insert,update,delete,select权限
grant all on 数据库.* to 用户名@IP地址
给用户分派指定数据库上的所有权限
3.撤销授权
revoke 权限1,...,权限n on 数据库.* from 用户名@IP地址
● 撤销指定用户在指定数据库上的指定权限
● 例如:revoke create,alter,drop on mydb1.* from user1@localhost
撤销user1用户在mydb1数据库上的create,alter,drop权限
4.查看权限
show grants for 用户名@IP地址
查看指定用户的权限
5.删除用户
drop user 用户名@IP地址