1.数据库系统
DatebaseSystem=数据库管理系统(DateBaseManagementSystem)+数据库(DateBase)+管理。。
定义:对大量信息进行高效管理的解决方案,根据数据的结构,存储和管理数据的库
2.关系型数据库系统
建立在关系模型上的数据库系统
关系模型:
1.数据结构可以规定
2.数据之间的关系可以设置
3.关系型数据库(RDBMS)典型概念
1.数据库:数据的仓库
2.表 :数据是保存在表内的,保存在一个表内的数据应该具有相同的数据格式
3.行&列 :行用于记录数据,列用来规定数据结构
记录:行内的数据
字段:数据的某个列
SQL: 数据库管理系统,管理数据库的语言,结构化查询语言(SQL。Structured Query Language)
4.MySQL:
数据库(管理+数据)+谁能向数据可系统发出管理的命令
MySQL是基于C/S架构的,客户端/服务器Client/Server
5.创建数据库
create database `1234`;
查询数据创建语句
show create database `1234`;
删除数据库
Drop database `1234`;
修改数据库属性
Alter database database_name character set utf8;
6. Create table table_name(列结构)表选项
先分析,需要保存的实体数据,拥有那些属性,这些属性应该如何保存
例如:班级信息
班级班号,开班日期
create table `1234`.class(class_number varchar(20),date_start date);
列定义:
列名 列的数据类型 【列的属性(约束)】
7. 表属于特定的数据库
库.表名 frm是表的结构文件
database.table_name
8.有哪些表
show tables [like 'pattern'];
show databases like 'sy%';
9.显示某个表的创建信息
show create table table_name;
TIP: \G 作为结束符,可以是图形化界面更好看
10.查看表结构(描述表结构)
Describe table_name;简写desc table_name;
11.删除表
drop table table_name;
drop table if exists table_name;
12.修改表
1.修改表名,可以支持同时修改多个表名(交换两个表的的名字)
rename table old_table_name to new_table_name;
rename table old_table_name to new_table_name,old_table_name to new_table_name;
支持,跨数据库重命名
rename database.table to new_database.table;
2.修改列的定义
a.增加一个新的列
add 新列的定义 alter table table_name add height(身高) int(数据类型);
b.修改一个列的定义,类型,属性
Modify alter table table_name modify class_number varchar(40);
c.删除一个列
Drop alter table table_name drop height;
d.重命名一个列
change old_列的定义 新列的定义
alter table table_name change height max int;
修改表结构,上面的是子命令,上级是alter table table_name add/drop/change/modify height(身高) int(数据类型);
e.修改表选项
alter table table_name character set gbk;
数据操作
创建数据 获得数据(查询数据) 删除数据 修改数据
------------增删改查Crud(Create,read,update,delete)
1.创建数据
insert into 表名 (字段列表)values (值得列表) 要求:值列表的顺序必须要与字段列表顺序一致
insert into class (class_number,date_start,max) values ('012','2015-9-10',88);
2.查询数据
Select 字段列表 from 表名 查询条件
select * from class where 条件;
select class_number,date_start from class;/select class_number,date_start from class where 1;
字段列表。可以使用*代替,表示所有字段。查询条件可以省略,表示所有的记录都获得。相当于where 1;
3.删除数据
delete from 表名 条件;
delete from class where max>90;
删除需要在逻辑上严格符合条件,否则会造成严重损失,语法上可以没有where
如果要删除所有数据则可以使用条件 where 1;
4.修改数据
update 表名 set 字段=新值,..条件。
update class set max=100 where max<90;
----------思考一个问题:怎么修改值为NULL的数据内容?
// 交换两个表的表名
rename table A to C,B to A,C to B;
//查询数据库的属性
show create database 数据库名;
查询变量
show variables;
show variables like ‘character_set%’; utf8 是一种编码方式即一种校对规则。
校对规则:在当前编码下,字符之间的比较顺序是什么。
三种比较:1.大小写不敏感
2.大小写敏感
3.一个字节一个字节比较
每个字符集都支持补丁数量的校对规则
如下指令:
show collation; show collation like 'gbk%';
可以看到
字符集__地区名__比较规则(ci,cs,bin)不区分,区分,字节比较
在设置字符集的时候,可以设置当前字符集所采用的校对规则。那么对每一个字符集,都有一个默认的校对规则。
以gbk为例,比较chinese_ci 和bin之间的区别
create table tbl1(tbl1_id int);
create table tbl2(tbl2_id int);
create table tbl3(nam
DatebaseSystem=数据库管理系统(DateBaseManagementSystem)+数据库(DateBase)+管理。。
定义:对大量信息进行高效管理的解决方案,根据数据的结构,存储和管理数据的库
2.关系型数据库系统
建立在关系模型上的数据库系统
关系模型:
1.数据结构可以规定
2.数据之间的关系可以设置
3.关系型数据库(RDBMS)典型概念
1.数据库:数据的仓库
2.表 :数据是保存在表内的,保存在一个表内的数据应该具有相同的数据格式
3.行&列 :行用于记录数据,列用来规定数据结构
记录:行内的数据
字段:数据的某个列
SQL: 数据库管理系统,管理数据库的语言,结构化查询语言(SQL。Structured Query Language)
4.MySQL:
数据库(管理+数据)+谁能向数据可系统发出管理的命令
MySQL是基于C/S架构的,客户端/服务器Client/Server
5.创建数据库
create database `1234`;
查询数据创建语句
show create database `1234`;
删除数据库
Drop database `1234`;
修改数据库属性
Alter database database_name character set utf8;
6. Create table table_name(列结构)表选项
先分析,需要保存的实体数据,拥有那些属性,这些属性应该如何保存
例如:班级信息
班级班号,开班日期
create table `1234`.class(class_number varchar(20),date_start date);
列定义:
列名 列的数据类型 【列的属性(约束)】
7. 表属于特定的数据库
库.表名 frm是表的结构文件
database.table_name
8.有哪些表
show tables [like 'pattern'];
show databases like 'sy%';
9.显示某个表的创建信息
show create table table_name;
TIP: \G 作为结束符,可以是图形化界面更好看
10.查看表结构(描述表结构)
Describe table_name;简写desc table_name;
11.删除表
drop table table_name;
drop table if exists table_name;
12.修改表
1.修改表名,可以支持同时修改多个表名(交换两个表的的名字)
rename table old_table_name to new_table_name;
rename table old_table_name to new_table_name,old_table_name to new_table_name;
支持,跨数据库重命名
rename database.table to new_database.table;
2.修改列的定义
a.增加一个新的列
add 新列的定义 alter table table_name add height(身高) int(数据类型);
b.修改一个列的定义,类型,属性
Modify alter table table_name modify class_number varchar(40);
c.删除一个列
Drop alter table table_name drop height;
d.重命名一个列
change old_列的定义 新列的定义
alter table table_name change height max int;
修改表结构,上面的是子命令,上级是alter table table_name add/drop/change/modify height(身高) int(数据类型);
e.修改表选项
alter table table_name character set gbk;
数据操作
创建数据 获得数据(查询数据) 删除数据 修改数据
------------增删改查Crud(Create,read,update,delete)
1.创建数据
insert into 表名 (字段列表)values (值得列表) 要求:值列表的顺序必须要与字段列表顺序一致
insert into class (class_number,date_start,max) values ('012','2015-9-10',88);
2.查询数据
Select 字段列表 from 表名 查询条件
select * from class where 条件;
select class_number,date_start from class;/select class_number,date_start from class where 1;
字段列表。可以使用*代替,表示所有字段。查询条件可以省略,表示所有的记录都获得。相当于where 1;
3.删除数据
delete from 表名 条件;
delete from class where max>90;
删除需要在逻辑上严格符合条件,否则会造成严重损失,语法上可以没有where
如果要删除所有数据则可以使用条件 where 1;
4.修改数据
update 表名 set 字段=新值,..条件。
update class set max=100 where max<90;
----------思考一个问题:怎么修改值为NULL的数据内容?
// 交换两个表的表名
rename table A to C,B to A,C to B;
//查询数据库的属性
show create database 数据库名;
查询变量
show variables;
show variables like ‘character_set%’; utf8 是一种编码方式即一种校对规则。
校对规则:在当前编码下,字符之间的比较顺序是什么。
三种比较:1.大小写不敏感
2.大小写敏感
3.一个字节一个字节比较
每个字符集都支持补丁数量的校对规则
如下指令:
show collation; show collation like 'gbk%';
可以看到
字符集__地区名__比较规则(ci,cs,bin)不区分,区分,字节比较
在设置字符集的时候,可以设置当前字符集所采用的校对规则。那么对每一个字符集,都有一个默认的校对规则。
以gbk为例,比较chinese_ci 和bin之间的区别
create table tbl1(tbl1_id int);
create table tbl2(tbl2_id int);
create table tbl3(nam