MySQL数据库基本知识(理论总结)

定义:数据库就是一个文件系统,通过sql语句来获取数据
关系型数据库:关系型数据库存放的是实体时间的关系,在数据库层面来看就是存放的是表和表之间的关联关系
常见的关系型数据库   MySQL    DB2   sqlserver   oracle    sybase
 
一台数据库服务器中会创建很多数据库(一个项目,会创建一个数据库)。
在数据库中会创建很多张表(一个实体会创建一个表)。
在表中会有很多记录(一个对象的实例会添加一条新的记录)
 
表和表时间会有一些约束
主键约束:primary key 主键约束默认就是唯一 非空的()auto-increment实现自增长
唯一约束:unique
非空约束:not null
 
SQL数据库的结构化查询语句
     DDL 数据定义语言  create(创建)/drop(放弃)/alert(改变)
     DML 数据操纵语音  insert(插入)/update(更新)/delete(删除)
     DCL 数据控制语言  grant/if
     DQL 数据查询语言  select(查看)
 
数据库的增删改查
     show    dataabases             展示所有的数据库
     create database 数据库名 [character 字符集 collate 校对规则]  创建新的数据库
     use 数据库名称     某一个数据库
     drop database 数据库名          删除数据库
     select database()        查看正在使用的数据库
     show create database 数据库名称    查看指定的数据库
     alert database chatater set 字符集 collate 校对规则
 
表的增删改查
            创建表:create tabe 表名 {
                字段名称  字段类型(长度)  约束,
                字段名称  字段类型(长度)  约束,
}
            添加字段:Altle table 表名 add 字段名  类型(长度) 约束
   修改列:altle table 表名 modify 列名 类型 (长度) 约束
   删除字段:altle table 表名 drop 字段名
   修改字段:altle table 表名 change 旧字段名 新字段名 类型(长度) 约束
   查看建表结构:desc  表名;
   查看所有的表字段:show  tables;
   查看建表语句 show create table 表名
   删除表 drop table表名
   修改表名:rename table 表名 to 新表名
   修改表的字符集:altle table 表名 character set 字符集(默认的是utf8 的)
建表常见的约束
    主键约束:primary key   一般实现自增 auto-increment
    非空约束:notnull
    唯一约束:unique
     
     
当数据表中有自增长主键时,当用SQL插入语句中插入语句带有ID列值记录的时候; 
如果指定了该列的值,则新插入的值不能和已有的值重复,而且必须大于其中最大的一个值;
也可以不指定该列的值,只将其他列的值插入,让ID还是按照MySQL自增自己填;
这种情况在进行插入的时候,两种解决方法:
①可以把id的值设置为null或者0,这样子mysql都会 自己做处理
②手动指定需要插入的列,不插入这一个字段的数据!

猜你喜欢

转载自www.cnblogs.com/BaiChunLong/p/11258633.html