数据库查询与插入学习

数据库:
查看当前服务器上有哪些数据库:
          show databases;
查看数据库创建代码:
          show create database 数据库名;
          show create database mydb1;
修改某个数据库的字符集:
          alter database mydb2 character set utf8;     //将字符集修改为:utf8编码表。
使用某个数据库:
          use 数据库名;
查看数据库创建代码:
          show create database 数据库名;
 
查看所有的表格:
          show tables;
     查看创建表的代码:
          show create table employee;
     查看表结构:
          desc 表名
修改表结构的代码:
     添加一列:
          alter table 表名 add 列名 数据类型;
     修改一列的类型:
          alter table 表名 modify 列名 更新的类型;
 
DML:
     常用关键字:INSERT UPDATE DELETE
     作用:用于向数据库表中插入、删除、修改数据。
 
     插入:
          insert into 表名[(列名,列名)] values(值1,值2);
     如果插入中文时,要调整编码为GBK:
          show variables like 'character%';
     修改客户端工具所用的编码:
          set character_set_client=gbk;
     客户端显示结果的编码:
          set character_set_results=gbk;
 
DQL:
     常用关键字:SELECT
     作用:查询数据。
     
     语法结构:
          select 列名(*代表所有列  列名,distinct 列名) from 表名  where 条件  order by 排序字段  (asc|desc);
     别名:
          select 列名 [as] 新列名  from 表名;
          distinct:代表去除重复记录;
          like:  %  代表零个或多个   _代表一个字符;
          between ...and...  包括边界;
          in  (set )   在这个范围内都可以(可以取一个或多个);
     Order by:
          desc:代表降序;
          asc:升序  是默认值可以不写;
     如果指定了多个排序字段,先看第一个字段,如果取值相同时,来会使用第二个排序字段。
 
数据完整性:
     1.实体完整性。
          主键:特点是唯一性,非空性。
          分类:业务主键,物理主键:
               primary key auto_increment(自动增长)
          总结:一个表中不能有多个主键,但是可以允许有联合主键  primary key(列1,列2),MySQL中对于主键列,不区分大小写 ,如果要区分大小写(在定义列时,添加binary)。
 
     2.域完整性。
          指数据库表的列(即字段)必须符合某种特定的数据类型或约束。比如NOT NULL。
          unique(如果添加的是null,那么允许是多个相同的null);
          auto_increment:自动增长  ,它只针对整数有效,当删除数据后,它也不会重头再来。
     示例:
          create table t2(
                    idcard int primary key auto_increment,
                    name varchar(20) not null unique
               );
               insert into t2 values(1,'张三');
               insert into t2 values(2,'张三1');
              
               insert into t2 values(2,null);
               insert into t2 values(1,null);
 
               insert into t2(name) values('李四');
               insert into t2(name) values('王五');
posted @ 2017-11-30 19:03  横扫天下IT  阅读(340)  评论(0编辑  收藏  举报