mysql数据库 的增删改查以及用法

数据库与RDBMS的关系
数据库是一种特殊的文件,里面包含库和数据表,可以通过SQL指令来操作。
RDBMS(Relational Database Management System)关系型数据库管理系统,建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据,简而言之,就是管理数据库的软件。常见的关系型数据库有MySQL、Oracle、SQLserver等
 

2.MySQL的启动、停止、重启指令
启动命令
sudo service mysql start
关闭命令
sudo service mysql stop
重启命令
sudo service mysql restart
查看状态
sudo service mysql status

3.MySQL的登录和退出
登录命令
mysql –h主机地址 –u用户名 –p密码
退出命令
exit   quit  ctrl+d

4.数据类型和约束
常用数据类型:
整数:int,bit
小数:decimal   
字符串:varchar,char
日期时间: date, time, datetime
枚举类型(enum) enum(‘男’,’女’,’中性’) default ‘男’
特别说明的类型如下:
decimal表示浮点数,如decimal(5,2)表示共存5位数,小数占2位  123.01 100.00
char表示固定长度的字符串,如char(3),如果填充'ab'时会补一个空格为'ab '
varchar表示可变长度的字符串,如varchar(3),填充'ab'时就会存储'ab'
字符串text表示存储大文本,当字符大于4000时推荐使用
对于图片、音频、视频等文件,不存储在数据库中,而是上传到某个服务器上,然后在表中存储这个文件的保存路径

约束:
主键primary key:物理上存储的顺序
非空not null:此字段不允许填写空值
惟一unique:此字段的值不允许重复
默认default:当不填写此值时会使用默认值,如果填写时以填写为准
外键foreign key:对关系字段进行约束,当为关系字段填写值时,会到关联的表中查询此值是否存在,如果存在则填写成功,如果不存在则填写失败并抛出异常
说明:虽然外键约束可以保证数据的有效性,但是在进行数据的crud(增加、修改、删除、查询)时,都会降低数据库的性能,所以不推荐使用,那么数据的有效性怎么保证呢?答:可以在逻辑层进行控制
5.数据库的查看、使用、创建、删除
查看所有数据库  show databases;
查看当前所在数据库  select database();
创建数据库 create database `python_db` charset=utf8;
使用数据库 use python_db;
删除数据库 drop database python_db;

6.数据表的查看、创建、修改、删除
查看数据表  show tables;
创建数据表 
-- 创建classes表(id、name)
    create table classes(
        id int unsigned not null auto_increment primary key,
        name varchar(30)
);

修改数据表
    -- 修改表-添加字段
    -- alter table 表名 add 列名 类型;
alter table students add birthday datetime [after 字段名];
alter table students add birthday datetime [first];
    
    -- 修改表-修改字段:不重命名版
    -- alter table 表名 modify 列名 类型及约束;
alter table students modify birthday date;

    -- 修改表-修改字段:重命名版
    -- alter table 表名 change 原名 新名 类型及约束;
    alter table students change birthday birth date default "2000-01-01";

    -- 修改表-删除字段
    -- alter table 表名 drop 列名;
    alter table students drop high;

-- 删除表
    -- drop table 数据表;
drop table xxxxx;

重命名表
rename table 旧表名 to 新表名;

7. 对数据表中数据的操作:增加、删除、修改和基本查询
增加数据
全部数据
insert into table_name values(全部列的值);
部分字段
insert into table_name (字段1,字段2) values (值1,值2);
插入多条
insert into table_name values (全部列的值),(全部列的值),全部列的值);
insert into table_name (字段1,字段2)values(值1,值2), (值1,值2), (值1,值2);

修改数据
update table_name set xx = 值,yy = 值 where 条件;

删除数据
delete from table_name where 条件;
注意:在修改或者删除数据的时候一定要指定条件,否则可能造成所有数据被污染或者清空。

清空数据(会把全表都给清空掉,并且自增主键从1开始)
truncate table_name;

查询数据
select * from table_name;
select * from table_name where 条件;
select 字段1 as 别名 from table_name where 条件;

你可能感兴趣的:(mysql数据库 的增删改查以及用法)