数据库
DBMS(数据库管理系统)
常用的数据库:SqlServer,Oracle,MySql,Sqlite等
MySql是一个高性能、多线程、多用户、建立在客户-服务器结构上的RDBMS,有服务器和客户端组成。
事务
事务指逻辑上的一组操作,组成这组操作的各个单元,要不全部成功,要不全部不成功
SQL
结构化查询语言,是个开放的标准
1.DDL(数据库定义语言)例如:create,drop,alter等
2.DML (数据库操纵语言) 例如:增删查改
3.DQL (数据查询语言)
4.DCL (数据库控制语言)
例如:
grant 分配权限
revoke 回收权限
commit 提交
rollback 回滚
?mysql进程
?MySQL的端口
先切换到root下
?mysql
常用的SQL语句
?查看端口
?查看数据库
?切换数据库
?查看数据库中的表
?查看表结构
?select
如果使用了use指定了使用的数据库,此时就不用再写数据库名称,直接写表名,
?退出MySQL
Linux上的数据库远程访问
查看防火墙是否禁用mysql外部访问
iptables -vnL
iptables -nL --line-numbers
mysql用户授权
mysql连接:mysql -h 169.254.0.2 -P 3306 -u sl -p
修改授权:
mysql>use mysql;
mysql>update user set host = ‘%’ where user = ‘sl’;
创建用户分配权限
grant all privileges on . to ‘sl’@’%’ identified by ‘123456’;
刷新
flush privileges;
重启mysql
sudo service mysql restart
?创建数据库
create database 1016DB default charset utf8;
默认情况下,数据库的字符集编码是latin1,处理汉语不够方便因此需要设置数据库的编码为utf8。
?创建数据库时指定编码
create database <数据库名> default charset <编码格式> ;
create database db_user default charset utf8 ;
?修改数据库编码
alter database <数据库名> character set <编码格式> ;
alter database db_user character set utf8 ;
?查看数据表编码
show create table tbDepart;
?当时用命令行时,指定字符集
linux支持中文
set names utf8;
windows支持中文
set names gb2312;
?MySql–三种注释写法
需要特别注意-- 这种注释后面要加一个空格
#DELETE FROM SeatInformation
/*DELETE FROM SeatInformation */
– DELETE FROM SeatInformation
?数据库中的约束
主键约束primary key
外键约束foreign key
默认值约束default check
约束 unique约束
创建表
? 创建表
auto_increment关键字,代表自动增长列
? 查看所有数据表
? 查看表结构
? 删除表
drop table tbDepart;
? 插入数据
? 查看数据
查询Remark为空的行
查询Remark不为空的行
等值查询
模糊查询
? 排序
升序
降序
? 删除数据
delete from tbDepart;
?更新数据
update tbDepart set Did=‘D02’,Remark=‘测试部门’ where id = 2;
,当id=2的行,将Did改为D02,Remark改为测试部门,
?查看数据引擎
默认的是InnoDB
? 查看MySql版本