day 44 数据库的安装和环境配置、 库的增删查改、表的增删查改 、 数据的增删查改

数据库

"""
常见软件的默认端口号
    MySQL  3306
    redis  6379
    mongodb   27017
    django   8000
    flask   5000
    
客户端连接服务端完整命令
    mysql -h 127.0.0.1 -P 3306 -uroot -p
"""

sql语句

"""
1 MySQL中的sql语句是以分号作为结束的标志

2 基本命令
    show databases;  查看所有的库名

3 连接服务端的命令
    mysql -uroot -p
    
4 当你输入的命令不对 又不想让服务端执行并返回报错信息时,可以用\c取消
    错误命令  \n
    
5 客户端退出  退出命令加不加分号都可以执行
    quit
    exit
    
6 当你在连接服务端的时候 发现只输入myqul也能连接

"""
"""
1 如何查看当前具体进程
    tasklist
    tasklist |findstr mysqld

2 如何杀死具体进程(只有在管理员cmd窗口下才能成功)
    taskkill /F /PID PID号

"""

环境变量配置

"""
每次启动myqld需要先切到对应的文件路径下才能操作太多繁琐
将mysqld所在的文件路径添加到系统环境变量中
"""

将mysql服务端制作成系统服务(开机自启动)

"""
查看当前计算机的运行进程数
    services.msc
将myssql制作成系统服务
    mysqld --install
移除mysql系统服务
    mysqld --remove
"""

设置密码

"""
mysqladmin -root -p原密码 password 新密码
改命令直接在终端输入即可 
mysqladmin -uroot -p123 password 123456
"""

密码破解

"""
可以将mysql获取用户名和密码校验的功能看成一个装饰器
装饰在了客户端请求访问的功能上

如果将该装饰器移除,那么mysaql服务端就不会校验用户名和密码了

"""
# 1 先关闭当前的mysql服务端
mysqld --skip-grant-tables
# 2 直接无密码的方式连接
    mysql -uroot -p  直接回车
# 3 修改当前用户的密码
    update mysql.user set password=password(123456)where   user='root' and host='localhost';
# 4 立刻将修改数据刷到硬盘
    flush privileges;
# 5 关闭当前服务端 然后已正常校验授权表形式启动

统一编码

mysql默认的配置文件

"""
my-ini  # ini结尾的一般都是配置文件

程序启动会先加载配置文件中的配置之后才真正的启动
"""
# 修改配置文件后一定要重启服务才能生效

# 统一编码的配置 无需掌握 直接拷贝即可

# 偷懒 将管理员的用户名和密码也添加到配置文件中
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
[client]
default-character-set=utf8
[mysql]
user="root"
password=123456
default-character-set=utf8

针对库的增删查改(文件夹)

# 增 
create database db1;
create database db2 charset='gbk';
# 查
show databases;  # 查所有
show create database db1;  #查单个
# 改
alter database db2 charset='utf8';
# 删
drop database db2;


# 查看当前所在的库的名字
select database();
# 切换库
use db1;

针对表的增删查改(文件)

"""
在操作表(文件)的时候,需要指定所在的库(文件夹)
"""
# 增
create table t1(id int,name char(4));
# 查
show create table t1;
describe t1;  # 支持简写 desc t1;
# 改
alter table t1 modify name char(16);
# 删
drop table t1;


针对数据的增删查改

# 增
insert into t1 values(1,'jason');
insert into t1 values(1,'jason'),(2,'egon'),(3,'tank');
# 查
select * from t1; # 该命令当数据量特别大的时候不建议使用
select name from t1;
# 改
update t1 set name='DSB' where id >1;
# 删
delete from t1 where id > 1;
delete from t2 where name= 'jason';
#将表所有的数据清空
delete from t1;
上一篇:Python 数据库操作


下一篇:【转】MyEclipse快捷键大全