Mysql学习笔记

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
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值