1.数据库基本操作
1.1 登录mysql服务器
mysql -uroot -p
登录本机服务器,连接3306端口
mysql -uroot -p -hxxx.xxx.xxx.xxx -P3306
登录指定ip地址的服务器,连接指定的端口
1.2 创建数据库
create database 数据库名 charset utf8;
1.3 查看数据库
show databases;
show schemas;
查看建库语句
show create database 数据库名\G
1.4 修改数据库字符编码
alter database 数据库名 charset gbk;
1.5 使用数据库
use 数据库名;
1.6 删除数据库
drop database 数据库名;
1.4 退出数据库
quit或\q
1.5远程登录Mysql服务器
1.5.1 Mysql用户
MySql用户用 用户名@网络地址 来标识
例如:
'root'@'localhost'
'root'@'192.168.122.8'
'root'@'192.168.122.%'
用户授权:
可以设置一个用户访问数据库的权限,比如允许访问哪些库,哪些表,哪些字段,允许执行哪些操作让root用户可以在远程连接,需要两步:
1.创建用户
create user 'Mysql用户' identified by '密码'
create user 'abc'@'localhost' identified by '123456'
create user 'abc'@'192.168.0.68' identified by ''
create user 'abc'@'192.168.0.%' identified by ''
2.对用户授权
grant select,insert,update,delete on test.* to 'abc'@'%'
grant create,alter,drop on db1.* to 'abc'@'localhost'
grant all privileges on *.* to 'abc'@'%'
grant select,insert on db1.t1 to 'abc'@'%'
grant select(id, name) on db1.t1 to 'abc'@'%
2.1 创建表
create table 表名(
字段名 字段类型,
字段名 字段类型,
...
) engine=innodb charset=utf8;
2.2 查看表
show tables;
查看表结构
desc tb1;
查看建表语句
show create table tb1\G
2.3 修改表
2.3.1 改表名
rename table 旧表名 to 新表名;
2.3.2 改表属性
修改存储引擎(innodb或myisam)
修改字符编码(gbk或utf8)
alter table 表名 engine=myisam charset=gbk;
2.3.3 添加字段
first 新增字段排在第一个
after 新增字段排在指定字段之后
alter table user add id int first;
alter table user add email varchar(100) after name;
alter table user add(
age int,
height int
);
2.3.4 改字段名
alter table 表名 change 旧字段名 旧字段名 数据类型;
2.3.5 改字段类型
alter table 表名 modify 字段名 数据类型;
2.3.6 改字段顺序
alter table 表名 modify 字段名 数据类型 after 字段名;
2.3.7 删除字段
删除字段,这个字段中所有的数据也会被删除,不可恢复
alter table 表名 drop column 字段名;
2.4 删除表
删除表,会删除表中所有的数据,不可恢复
drop table 表名;
如果存在的话,才执行删除
drop table if exists 表名;
2.5 截断表 (truncate)
删除表并重新创建,两步合并成一步执行
truncate table 表名;
3.SQL
结构化的查询语言
Structured Query Language
DDL 数据定义语言
建库、建表...
DML 数据操作语言
增删改
DQL 数据查询语言
select
3.1 insert 插入数据
新建user表
create table user(
id int,
name varchar(10)
)engine=innodb charset=utf8;
通知服务器,客户端使用的是什么编码
set names gbk;
插入数据
insert into user values(1,'张三');
insert into user values
(2,'李四'),(3,'王五'),(4,'赵六');
3.2 update 修改数据
update user set id=5,name='钱七' where id=1;
3.3 delete 删除数据
delete from user where id>3;
3.4 select 查询数据
select * from user;
select name from user;
select name,id from user;