当前位置:Gxlcms > 数据库问题 > MySQL总结

MySQL总结

时间:2021-07-01 10:21:17 帮助过:4人阅读

     数据的概念:数据是描述事物的符号,这些符号可以是数字,文字,图片,声音,图像等,数据可以是多种形式,都可以经过数字化存入计算机.      计算机里描述一个事物,包含了多种数据类型的信息,抽取事物的典型特征,组成一条记录, 以特定的数据格式定义,      name,age,sex,home_add,school 就组成了基本的数据记录,        数据库(database)DB:      建立在计算机存储设备上的数据仓库,并且是按照一定的格式,      特点:           可以长期存放,可以共享,           较小的冗余度,较高的数据独立性,以扩展性,      数据库管理系统(database management system)DBMS:           有了数据 和库 的概念,如何存储,获取,维护,优化数据就是关键,就要用到数据库管理系统,           流行的数据库有,mysql ,oracle ,sq lite ,access, ms sql server               mysql主要用于大型门户,例如搜狗、新浪等,它主要的优势就是开放源代码,因为开放源代码这个数据库是免费的,他现在是甲骨文公司的产品。 oracle主要用于银行、铁路、飞机场等。该数据库功能强大,软件费用高。也是甲骨文公司的产品。 sql server是微软公司的产品,主要应用于大中型企业,如联想、方正等。       mysql就是一个socekt服务端
客户端软件
  mysql自带
  python模块 2.数据库的分类:            以上都是一个软件,都有两个主要功能:      a.将数据保存到文件或者内存,      b.接受 命令,对文件进行操作,      注意:都不需要自己创建文件和文件夹,都是通过命令来进行文件操作,统称为数据桔管理系统(DBMS)     3.认识sql语言:      sql (structured query language) 结构化查询语言     sql 主要用于存取数据,查询数据,更新数据和管理关系数据库系统,      sql 分为3类:           DDL 语句 数据库定义语言: 命令有,create,drop,alter           DML 语句 数据库的操作语言: 插入数据instert ,删除数据 delect, 更新数据update ,查询数据select           DCL 语句 数据库控制语言: 控制用户访问的权限 grant,,revoke   5.数据库名字的命名规则:           区分大小写,           可以有字母,数字,下划线 ,@, #, $ 组成           名字须唯一           不能使用关键字 ,如create,select           不能单独使用数字           最长128位字符   数据库 database           文件夹 tables;           文件     table;   6.数据库的操作 `          1.查看数据库             show databases; 查看该库的所有数据库                  mysql  存放用户权限相关的数据                use mysql 进入mysql数据库>select user from user;查看登录到mysqlde的用户,                     创建用户:                          create user ‘alex‘@‘*‘(ip) identified by ‘123‘                                            ‘用户名‘ ip地址  密码                     授权:                          grant all privileges on db1.t1 to ‘alex‘@‘%‘;                               all privileges 表示所有权限,包含select(查询),insert(插入),update(更新),                               on db1t.t1 表示对文件夹下的t1文件有权限
                 test 用于测试数据                information_schema - mysql 本身架构相关数据              show create database db1 #查看数据库创建的方式              2.进入数据库            use 数据库名  --进入后无法退回,通过use进行切换           show tables 显示当前库中所有的表           select database();查看当前数据库             3.删除数据库           drop database 数据库名字;             4.修改数据库             alter database db1 charset utf8;             2.创建数据库                    create database 数据库名 default charset utf8     7.用户管理           创建用户    create user ‘用户名‘@‘ip地址‘ identified by ‘密码‘;             删除用户     drop user ‘用户名‘@‘IP这地址‘;                      修改用户     rename user ‘用户名‘@‘IP地址‘; to ‘新用户‘@‘ ip‘地址;                      修改密码     set password for ‘用户名‘@‘ip地址‘ = password(‘新密码‘)      注意:           用户权限相关数据保存在MySQL数据库的user表中,所以也可以直接对其操作(不建议)     8.表的操作           1.创建表 create table 表名(                               字段 类型[约束条件],                               字段 类型)[character set xxx];           例子:           create table t1(id int ,name char(10)) default charset=utf8;
约束条件:      primary key (非空且唯一);       一个表中只有一个主键,      约束(不能重复不能为空);加速查找        unique  唯一约束      not null     非空约束      engine=innodb  #防止双方数据出现错误,可以实现数据回滚,   支持事务,原子性操作            myisam 不支持数据回滚
          列子:      create table t3(id int auto_increment,name char(10)) engine=innodb default charset=utf8;        auto_increment 自增      注意:      auto_increment 和primary key一起用,否则报错      一张表中,只能有一个auto_increment和primary key
       创建表的标准格式:      create table t1(id int not null auto_increment primary key,name char(10))engine=innodb default charset=utf8;             2.查看表信息           desc 表名 ,查看表结构,包含每个字段的信息,           show columns from 表名 ,查看表结构           show tables ,查看库中所有的表           select * from 表名;,查看表里的所有列,              select name,id from 表名;,查看name列,id列,           show create table 表名; 里面包含了表创建时的各种信息,包含编码格式6           show create table 表名 \G; 竖着看,更方便
          3.修改表结构                3.1 增加列(字段)                alter table 表名 add 列名 类型 [约束性条件] [first | after 字段名];                3.2 修改列(类型)                alter table 表名 modify 列名 类型 [约束性条件]                3.3 修改列名                alter table 表名 change 列名 新列名 类型                 3.4 删除一列                alter table 表名 drop 列名;                3.5 修改表名                rename table 表名 to 新表名;                3.6 修改表的所有字符集                alter table 表名 character set utf8;                3.7 插入数据                insert into t1(id,name) values(1,‘egon‘);t1是表名                3.8创建文件
     4.删除表           drop table t3;      5.清空表,
          delete from t3;当再次插入数据是,会从上次的id号继续,表的字段(列名)都还存在           truncate table t3; 删除表,表和记录都删除,直接从id 是1的开始删除,比delete快
  9.数据类型:      9.1数字: tinyint               1.int               2.bigint               3.float,都是不精准的数据类型,越长越不精准               4.double,都是不精准的数据类型,越长越不精准               5.decimal 是最精准的数据类型,按字符串类型存的,但还是小数
  num decimal(10,5)decimal 有2个参数,第一位是数据的总位数,后面参数代表小数点后的位数      9.2字符串:           1.char(10): 速度快,定义了10个字符,不够空格填充,最多255个字符          2. varchar(10) :节省空间,定义10位个字符,没有写够,有多少,算多少,省内存,最多255个字符          3.enum(‘x‘,‘xl‘,‘xxl‘);表示只能从后面的数据里取,选项固定,不经常修改的,           create table shirts(                          name varchar(40),                           size enum(‘x_small‘,‘small‘,large‘,‘x-large‘)                         );           insert into shirts(name,size) values(‘aa‘,‘large‘)            4.set(‘a‘,‘b‘.‘c‘)表示可以插入后面数据的任意组合      create table myset(                name varchar(40),                col set(‘a‘,‘b‘,‘c‘));        insert into myset(name ,col) values(‘xxxx‘,‘a,b‘)        insert into myset(name,col) values(‘xxxx‘,‘b,c‘)
           10.操作文件中的内容      插入数据:      insert into t1(id,name) values(1,‘alex‘);      删除数据;      delete from t1  where id<6 #where 后面跟条件,指定删除      修改:      update t1 set age=18;      update t1 set age=18 where age=17; 修改age=17 的数据
      11.创建表 create table t1(id int primary key auto_increment ,                name varchar(20),not null,                age int,                salary float(10,2))engine=innodb default charset utf8; #          where 条件      < ,>,>=,<=,<>,!=      between 80 and 100      in(10,20,30)        like ‘yuan%‘          多个条件 可以使用逻辑运算符 and  or not             排序 order by ASC 升序  默认 /Desc 降序  位于select末尾        group by 列名 ,可以跟having,进行筛选                            11,主键, 保证数据的唯一性   12.外键,foreign key       一张表中的数据受限于另外一张表,2张关联,        2t1表中的主键(id) foreign key t2(某列名)的             constraint 约束 fk_1(名字) foreign key                                               

MySQL总结

标签:表名   bsp   insert   rac   选项   获取   文件中   where   sel   

人气教程排行