乐天堂fun88 » 数据库 » MySQL学习总结-关系型数据库

MySQL学习总结-关系型数据库

admin 数据库 216 次浏览 没有评论
互联网编程攻城狮MySQL学习总结-关系型数据库 mysql 概念 SQL (Structured Query Language)结构话查询语言。
  1. 作用:数据库的增加、更新、删除、查询。 例如:select * from 表名、delete from 表名 where 列名称=值等。
MySQL是关系型数据库,类似的数据库还有Oracle、SQL Server、DB2。
  1. 最大的优势:开源。
windows下运行
  1. cmd连接
bin目录运行cmd; 连接数据库 mysql -uroot -proot (p后面是安装mysql时设置的mysql的密码);
  1. 客户端连接
Navicat for MySQL、SQLyog或者Oracle SQL Developer软件。 配置 my-default.ini中修改配置文件 : [client] default-character-set=utf8 [mysqld] character-set-server=utf8 default-storage-engine=INNODB

数据库(DB)操作

  1. 操作命令
查看数据库:show databases; 创建数据库:create database 库名; 删除数据库:drop database 库名; 使用数据库: use database 库名;

数据类型

文本类 char(size)保存固定长度的字符串。最多255个字符; varchar(size)保存可变长度的字符串。最多255个字符;注:如果值的长度大于255,则被转换为text类型; tinytext最大长度255; text最大长度65535; mediumtext 最大长度16777215; longtext最大长度4294967295; enum(x,y,z,etc)允许输入可能值得列表,最大65535个值; set与enum类似,最多包含64个列表项 数字类 tinyint(size) 1(1byte=8bit); smallint(size)2; mediumint(size)3; int(size)4; bigint(size)8; float(size,d); double(size,d); decimal(size,d); 日期类型 date()YYYY-MM-DD; datetime()YYYY-MM-DD HH:MM:SS; timestamp()使用Unix纪年(YYYY-MM-DD HH:MM:SS UTC); time()HH:MM:SS; year()2位或4位格式的年;

表操作

create table 表名(); drop table 表名; show tables; describe 表名;

列操作

alter table 表名 add 字段名 字段类型; alter table 表名 drop 字段名; alter table 表名 change 字段a 字段b 字段类型; alter table 表名 rename 新表名;

约束

非空约束: not null; 唯一约束: unique key; 默认约束:default; 主键约束:primarky key auto_increment 主键自增; 外键约束:foreign key;

行操作

insert into 表名 values(); insert into 表名()values();

查询

MySQL学习总结-关系型数据库 sql select * from 表名 where 字段 运算符 值 (between(之间) like(模糊查询) and(和) or(或者)); in select * from 表名 where 列名 in (value1,value2…); select * from 表名 where 列名 in (select 列名 from 表名); between select * from 表名 where 列名 between 值1 and 值2; select * from 表名 where 列名 not between 值1 and 值2; like select * from 表名 where 列名 [not] like %abc%;%是一个通配符,代表任意字符; null的判断 -is/is not select * from 表名 where 字段 is null; select * from 表名 where 字段 is not null; order by (排序) asc/desc不写默认asc 单列排序 select * from 表名 [where 子句] order by 字段 asc/desc; 多列排序 select * from 表名 [where 子句] order by 字段1 asc/desc,字段2 asc/desc; limit(分页查询) select * from 表名 [where 子句] [order by 子句] limit m,n;从m 开始查,查n条记录; 子查询,主要用于数据迁移 insert into 表名1 select 列1,列2 from 表名2; insert into 表名 (列1,列2) select 列3,列4 from 表名2; 更新数据 update 表名 set 列名 = xxx [where 子句]; update 表名 set 列名1=xxx,列名2 = xxx [where 子句]; 数据库查询函数(from 前面设置) 单行函数:upper()、lower()、lnitcap()(mysql不可用,lnitcap是oracle的)、length()、trim()、substr(); 聚合函数:count(*)(结果集); 统计函数:max()、min()、sum()、avg();

事务处理

set autocommit=0;//将事务处理设置为手动 更新操作;//将数据存储到缓冲区 Rollback;//事务回滚 更新操作;//将数据存到缓冲区 commit;//事务提交(将缓冲区的数据删除)

视图

create view or replace unreal_table as select … 视图可以查询和修改(只是单表的情况下可以修改数据,一般是不会做视图的修改操作的,如果修改的话都是关联表的数据的修改的),不支持delete、insert into 操作; MySQL学习总结-关系型数据库
义乌奥美编程,转载链接。本文永久链接: http://code.ywbb.com/295.html

发表评论

Go 乐天堂fun88