MySQL基础知识

 MySQL基础知识:

   一. 知识点:
       1. SQL分类:按照其功能不同,分为3中类别
          DDL(Data Defintion Language):数据定义语句,用于定义不同的数据段、数据库、表、列、索引等。常用的语句关键字包括create、drop、alter等;
 
          DML(Data Manipulation Language):数据操纵语句,用于添加、删除、更新和查询数据库记录,并检查数据的完整性。常用的语句关键字主要包括insert、delete、update和select等;

          DCL(Data Control Language)语句:数据控制语句,用于控制不同数据段直接的许可和访问级别的语句。这些语句定义了数据库、表、字段、用户的访问权限和安全级别。主要的语句关键字包括grant、revoke等;
          
       2. My Sql的数据类型:  int    整数(默认长度为11)
                            varchar   字符串,取值范围 0-255 (在定义字段时,需指定字符串的最大长度)
                            date   日期型(插入数据时需用单引号)

       3. DDL是数据定义语言,简单来说,就是对数据库内容的对象进行创建、删除、修改和操作语言,它和DML最大的区别在于DML是对表内部数据的操作,不涉及表的定义、结构的修改,也不涉及其他对象;
        
   二. 数据库的操作
       
       1. create database test;   创建一个名为hxm的数据库
       2. drop database test;     删除一个名为test的数据库
       3. 显示数据库:   show databases;
       4. 选中数据库:   use test;
       5. 显示数据库里的表格: show tables;
       说明: 数据库删除之后,这个数据库中所有数据都会全部删除,所以删除前一定要慎重并做好备份工作.
       
   三. 表格
       
       1. 创建一个名为emp的表格,并设置empId这个字段为主键
          cteate table emp(
          empId  int auto_increment primary key,
          empName  varchar(10) not null,
          gender int,
          birth  date);
          
        3. 查看表格字段的设置: desc emp;
        5. 删除表格: drop table emp;
        6. 删除表格中的所有数据: delete from emp;
        6. 查看表格的SQL语句: show create table emp;
        7. 查看表格中添加的数据: select * from emp;
           
           
    四. 修改表格字段:
        alter table 语句用于在已有的表中添加、修改或删除列。
        1. 修改字段的类型大小: 下面这句是修改了emp这个表格的empId这个字段的类型的大小改为20 
           alter table emp modify empId int(20);
           修改字段的类型: 下面这句是修改了emp这个表格的empId这个字段的类型改为varchar(10)
           alter table emp modify empId varchar(10);
        2. 修改字段的名称: 下面这句是修改了emp这个表格的empId这个字段名称为empid,类型不变
           alter table emp change empId empid varchar(10)
        3. 同时修改字段的名称和类型: 下面这句是修改了emp这个表格的empId这个字段名称为empid,类型为varchar(20)
           alter table emp change empId empid varchar(20)
        4. 添加字段: 下面这句是emp这个表格内插入了一个gender的字段,并设置gender这个字段的类型为int
           alter table emp add gender int;
        5. 删除字段: 下面这句是把emp这个表格内的empName这个字段删除
           alter table emp drop column empName;
        6. 修改表格名称: 下面这句是把emp这个表格的名称改为emp1
           alter table emp rename emp1;
    
    五. 设置外键(举例): 1. 首先创建一个表格,设置其主键;
                      2. 再创建一个表格,设置其外键为上一个表格的主键;
                      注意: 给表格创建一个外键时,需先创建外键所在的表格;
                      例:   外键所在的表格:
                          create table dept(
                          deptNo int auto_increment primary key,
                          deptName varchar(10) not null);
              
                           另一个表格:   
                           create table emp(
                           empId int auto_increment primary key,
                           empName varchar(10) not null,
                           deptno int,
                           foreign key(deptno) references dept(deptNo));
    
                     说明:  1. 首先创建了dept这个表格,并设置其主键为deptNo;
                            2. 再创建了emp这个表格;
                            3. 在emp这个表格创建deptno这个字段,并设置其类型为int;
                            4. 再把deptno设置为该表格的外键,写法如下: 
                                deptNo int,
                                foreign key(deptNo) references dept(deptNo));
                     注意:  外键字段在插入数据时,该字段的值须是外键所在表格主键的数据值之一,否则不能插入;
                           
    六. 插入数据的语法:
         
        1. insert into emp(empId, empName, deptno) values(1,'小红',1); 在emp这个表格插入empId,empName,deptno这三个字段的值:
        2. insert into emp values(1,'小红',1); 表示对emp这个表格中的所有字段依次匹配,插入数据;
        3. insert into emp(ename, birth, deptNo) values('张三','2000-1-1', 2),('李四', '2001-1-1',3);//多条插入
        
        
    七. 一些约束的设置:
              
        1. 设置默认值的约束: 下面这句是创建一个student表格,并设置其gender字段的默认值为1:
            create table emp(
            gender int default '1');
            注意: 默认约束对以前的值不会修改; 数据需加单引号''
                    
        2.  设置主键: 方式一:
                    下面这句是创建一个emp表格,并设置其sNo字段为主键,并让其自增长:
                     create table student(
                     sNo int auto_increment primary key);
                     注意: int类型的才能自增长,主键不能被删除(暂时理解)
            方式二:  alter table emp add primary key(empNo);
             
        3. 设置不能为null的约束: 下面这句是创建一个student表格,并设置其sName字段不能为空:
              create table student(
              sName varchar(20) not null);
        
    八. 修改,删除,查询数据的语法:
        1. update emp a set a.sname = '张三' where a.sage >= 20 && a.sage <= 30;
           说明: update表示更新;emp是被更新的表格;a是为emp表格设置的别名,方便后面的使用;
                where后面是条件,满足这个条件才把sname字段的数据更新为'张三';
           注意: 修改数据时要加上条件,不然修改的是所有数据.
                
        2. delete a from emp a where a.empid >= 2;
           说明: delete表示删除;a为emp表格设置的别名,方便后面的使用;
                where后面是条件,满足empid的数据大于等于2,则把那个对象删除.

        3. delete a from emp a where a.sname is null; 表示删除sname字段值为空的数据.
            
        4. select * from emp a where a.empid >= 4; *号代表查找满足empid>=4的对象,并显示该对象的所有字段数的据;
           select a.sname from emp a where a.empid >= 4; 表示查找满足empid>=4的对象的sname字段;
            
    九. 查询语法:
        1. select a.sname from emp a where a.sname like '王%'; 表示查询以"王"字开头的sname字段的值
        2. select a.sname from emp a where a.sname like '%王%'; 表示查询中间带有"王"字的sname字段的值
        3. select a.sname from emp a where  char_length(a.sname) = 3; 表示查询字符个数为3(名字为3个字)的sname字段的值.
        
                
                
              
    
        
              
                           
                     
                     
                     
                     
           
           
        
          

posted @ 2015-09-18 23:13  Hrbacity  阅读(180)  评论(0编辑  收藏  举报