MySQL基础

发布时间:2022-07-04 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了MySQL基础脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

python编程快速上手(持续更新中…)

概念

数据库概念

一些特殊格式的文件的集合

数据库作用

用来存储各种数据

数据库的使用优势

持久存储、存取效率高、支持可扩展

数据库分类和特点

关系数据库 基于关系模型建立,用二维表进行数据存储的数据

非关系数据库 mangondb.redis

数据库管理系统(DBMS)

数据文件集合 数据服务端 数据客户端

关系型数据库管理系统F1a; RDBMS

  • SQL

    • 作用: 客户端跟服务端通信的 特殊 “语言”
    • 含义:结构化查询语言
    • 分类:
      • DQL 数据查询语言,用来查询
      • DML 数据操作语言,用来增删改查
      • DDL 数据定义语言,创建、删除
  • 数据库的核心元素

    • 数据库: 数据库系统
    • 数据表: 二维表,(行、列)
    • 记录(二维表的一行,要求数据要完整)
    • 字段(二维表的列,要求一列的数据类型要一致)
  • 数据保存的流程

    • 创建数据库 --> 创建数据表—>字段 —> 保存数据

MySQL环境搭建

  • MySQL 数据库管理系统的安装

    sudo apt-get install mysql-server
    
  • MySQL 数据库的配置

    配置文件:/etc/mysql/mysql.conf.d/mysqld wangt.cc f

  • MySQL 数据库操作

    • 启动:sudo service mysql start
    • 检测:ps -ajx | grep mysql
    • 重启:sudo service mysql restart
    • 停止:sudo service mysql stop
  • 客户端连接服务器(*)

    sudo apt-get install mysql-client
    
    • 图形化工具Navicat

    • 命令行连接

      • 可以看到密码

        mysql -u用户名 -p密码

        回车

      • 不可以看到密码

        mysql -u用户名 -p

        输入密码

        回车

    • 命令行退出: exIT 或者 quit

数据完整性和约束

完整性的作用: 保证数据的正确性

实体完整性

主键约束:不能为空,也不能重复 Primary key 唯一约束:能为空,但是不能重复 unique key

域完整性约束

非空约束: 该字段信息不能为空 not null 默认约束:这个字段可以设置默认值 default

参照完整性

外键约束: 建立表和表外键的关系 foreign key

用户定义完整性

字段的值必须是设定的范围之内 sex 男女

客户端Navicat使用

新建连接

MySQL基础

选择编码“utf8”,排序规则:utf8-bin,点击“确认”

创建库

MySQL基础

创建表

MySQL基础

保存,填入表名“classes”

修改表

右键,设计表

表记录操作

双击表名,输入记录

  • 添加记录

表转储

转储:表名,右键,转储sql文件 执行sql,运行SQL文件

用户

root用户改为%,可实现远程ip访问

@H_777_230@

数据类型

选择合适的类型保存数据,好处: 1)节省存储空间 2)提升查询效率

数值

整型:int tinyint

浮点型 float(6) double(16) decimal(M,D) float(5,2) 总共5个数字,2位小数 精确价格选用decimal

字符串

Char(255)/vArchar(65535)/tinytext(255)/text(65535) /mediumtext(16777215)/longtext(49838332323)

char与VARchar区别 Char长度固定

Utf8 占3个字符

字符串选择 能用varchar不用text

枚举

Enum最多65535

时间类

date 年月日 datetime 年月日时分秒 1000年 5字节 timestamp 年月日时分秒 1970年 4字节

SQL命令

登录与退出数据库

cmd

mysql -uroot -p

root

查询版本号

select version();

当前时间

select now

数据库操作

show databases; 查看数据库

create database 数据库名;

drop database数据库名;

use 数据库名;

select database(); 显示当前数据库

show create database 数据库名称 显示建表语句

创建数据库 create database python1 charset=utf8;

表结构创建(DDL)

show tables; 查看表

创建表

create table classes@H_577_304@(
        id int unsigned PRimary key auto_increment,
        name varchar(10) not null,
        num tinyint

        );
 create table students(
        id int unsigned primary key auto_increment,
        name varchar(20) not null,
        age tinyint(1) ,
        high decimal(3,2),
        gender enum("男","女","妖"),
        cls_id int unsigned

        );

查看表结构 desc classes;

查看创表语句+格式化 show create table students G:

表结构修改(DDL)

增加生日表 ALTER TABLE students add bithday datetime;

重命名 alter table students change bithday birthday datetime;

修改类型 alter table students modify birthday date not null;

删除字段 alter table students drop birthday;

删除表 drop table students

表数据操作-增删改查

set character_set_client=gbk; set character_set_results=gbk;

查询select 查询所有 select * From classes select * from students

条件where select * from students where name=‘二狗子’;

别名as, 不加引号 select id as ‘编号’, name as ‘名称’ from students where name=‘二狗子’;

插入记录insert insert into classes values(1,‘python20’,78);

自增长,可以忽略 insert into classes values(null,‘python21’,78); insert into students values(null, ‘司马二狗’, 18, 1.78, ‘妖’, 1, ‘2001-12-12’);

列名 insert into students(id, name) values(null, ‘狗胜’);

多行 insert into students values(null, ‘二狗子’, 18, 1.78, ‘妖’, 1, ‘2001-12-12’), (null, ‘二狗子’, 18, 1.78, ‘妖’, 1, ‘2001-12-12’),(null, ‘狗蛋’, 18, 1.78, ‘男’, 1, ‘2001-12-12’),(null, ‘狗杂种’, 18, 1.78, ‘女’, 1, ‘2001-12-12’);

修改update update students set age=28;

条件 update students set age=28 where name=‘狗杂种’; 多字段 update students set age=19,gender='男’where name=‘二狗子’;

逻辑删除 alter table students add is_delete bit default 0;

update students set is_delete = 1 where id = 3;

数据库备份与恢复

导出库:(需要管理员身份运行cmd) mysqldump -uroot -p python1 > d:python1 .sql

导入表(先删除库,再创建python1库) mysql -uroot –p python1 < d:students.sql

Navicat再次刷新,可见

脚本宝典总结

以上是脚本宝典为你收集整理的MySQL基础全部内容,希望文章能够帮你解决MySQL基础所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。