【本文导读】MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。
主要内容:
Mysql数据库的特性简介:
Mysql数据库的操作实践:
用户(user)的操作实例:
数据库(database)的操作实例:
表(table)的操作实例:数据表的创建删除、表结构的查看修改、表数据的增删改查、表约束的创建删除、表关系的创建删除:
Mysql数据库的应用场景:
一、Mysql数据库的特性简介:
1、开源免费:由于MySQL是开放源代码的,因此任何人都可以在General Public License的许可下下载并根据个性化的需要对其进行修改。
2、快速可靠:MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。
3、关系模型:关系型数据库是采用关系模型来组织数据的数据库,每张二维表都有一个关系名(表名),其中的行和列指字段和字段信息。
二、Mysql数据库的操作实践:
(一)Mysql用户(user)的操作实例:
(1)mysql -u用户名 -p密码;说明:进入mysql,其中:root为管理员,user为一般用户,特别要mysql语句要用;结尾!!!
(2)create user 'username'@ '%' identified by 'password';说明:创建用户,用户名user_name自定,%表示可远程连接,也可用localhost表示本机。
(3)grant all on *.* to 'user_name'%; 说明:给用户赋予权限。
(4)flush privileges;说明:使权限更改立即生效。
(5)\q;说明:退出mysql。
(6)select user();说明:查看当前用户。
(二)Mysql数据库(database)的操作实例:
(1)create database [if not exists] dbname;说明:创建数据库,重复创建会报错,可以加上if not exists,db_name为数据库名。
(2)show datbases;说明:查看有哪些数据库。
(3)select database();说明:查看在哪个数据库里
(4)use db_name;说明:进入(切换)数据库。
(5)drop database [if exists] db_name说明:删除数据库,如果不知道数据库是否存在,记得加上if exists,db_name为数据库名。
(三)Mysql表(table)的操作实例:
1、数据表的创建与删除:
(1)create table [if not exists] table_name(colum_name columtype,colum_name colum_type);说明:创建表,table_name为表名,colum_name为字段名,colum_type为数据类型(int整数型、float浮点型、varchar字符型、date日期型),千万注意标点符号。
(2)show tables;说明:查看有那些表。
(3)alter table tablename1 rename table_name2;说明:修改表名。
(4)drop table table_name;说明:删除表。
2、表结构的查看修改
(1)desc table_name;说明:查看表结构。
(2)show create table table_name;说明:查看表结构。
(3)alter table_name change 'field1' 'feild2' type;说明:修改字段。
(4)alter tablename add colum_name colum_type;说明:增加字段。
(5)alter tablename drop columname colum_type;说明:删除字段。
3、表数据的增删改查:
(1)insert into table_name(field1,field2,...) values(value1,value2,...,]);说明:插入数据,
(2)insert into table_name set field1=value1;说明:插入数据,
(3)select *from tablename[where where_condition];说明:查询所有(或有条件where)数据
(4)update tablename set field1=value1 where where_condition;说明:更新数据,必须写where条件
(5)delete from tablename where where_conditon;说明:删除数据,必须写where条件,否则删除全部。
4、表约束的创建删除:
相关约束:非空约束(非空约束的字段,insert时必须添加数据)、唯一约束(确保字段中的值的唯一)、主键约束(primary key 可以唯一标识一条数据,每张表里只能一个主键,非空且唯一,当表里没有主键时,第一个出现的非空且唯一的列被当成主键)、外键约束(foreign key 保持数据一致性,完整性实现一对一或一对多关系,外键必须关联到键上面去,一般是关联到另一张表的主键)、自增长(auto_increment 自动编号,必须与主键组合使用,一个表只有一个自增长,默认起始值为1,每次增量为1)、默认约束(default 初始值设置,插入记录时,如果没有明确为字段赋值,则自动赋予默认值)。
在已经创建好的表(table_name)里,添加各类约束:
(1)alter table table_name modify colum_name colum_type not null;说明:非空约束
(2)alter tabe table_name modify colum_name colum_type;说明:取消非空约束。
(3)alter table table_name add unique key(name);说明:唯一约束(方法一)
(4)alter table table_name modify name varchar(10) unique key;说明:唯一约束(二)
(5)alter table table_name drop key name;说明:删除唯一约束。
(6)alter table table_name add primary key (colum_name);说明:主键约束(一)
(7)alter table table_name modify name varchar() primary key;说明:主键约束(二)
(8)alter tabe table_name drop primary key;说明:取消主键约束。
(9)alter table table_b add constrraint AB_id foreign key(table_b:fy_id) references table_a(a_id) ;说明:外键约束
(10)alter tabe table_name drop foreign key AB_id ;说明:取消外键约束。
(11)alter table table_name modify colum_name columtype auto_increment;说明:自增长约束
(12)alter tabe table_name modify colum_name colum_type;说明:取消自增长约束。
(13)alter table table_name modify colum_name colum_type default;说明:默认约束
(14)alter tabe table_name modify colum_name colum_type;说明:取消默认约束。
创建表(table_name)的同时,添加各类约束:
(1)cerate table table_name(colum_name colum_type not null);说明:非空约束
(2)cerate table table_name(colum_name colum_type unique key);说明:唯一约束
(3)cerate table table_name(colum_name colum_type primary key);说明:主键约束
(4)cerate table table_b(fy_id int not null,constraint ABid foreign key(fy_id) references tale_a(a_id));说明:外键约束
(5)cerate table table_name(colum_name columtype primary key auto_increment);说明:自增长约束
(6)cerate table table_name(colum_name columtype primary key auto_increment);说明:默认约束
5、表关系的创建删除
(1)一对多关系,说明:用外键关联
(2)一对一关系,说明:用外键方式,把两个表的主键关联
(3)多对多关系,说明:需要创建中间表来实现
三、Mysql数据库的应用场景
1、高级查询(表单查询,子查询,内连接,左外连接,右外连接)
2、python控制mysql
(未完待续,准备中)