sql语言分为三个级别。



 语句 ,数据定义语句,定义了数据库、表、索引等对象的定义。常用语句包含:create、drop、alter。



 语句 ,数据操纵语句,用于添加、删除、更新和查询数据库记录,并检查数据完整性,常用语句包含insert、delete、update、select等。



3、dcl语句,数据控制语句,用于控制不同数据对象访问级别的语句。定义了数据库、表、表、用户的访问权限和完全级别。常用的语句包括grant、revoke等。



 



DDL语句:



 



1、建库、删库:



建库:create database db名 default charset=utf8;



删库:drop database db名;



2、 表操作



2.1 建表1:



create table table_name(col1 type1 [not null] [primary key],col2 type2 [not null])

 



如:



create table person_info
(
person_id smallint(5) unsigned auto_increment,
name varchar(50) not null comment 'person_name',
country varchar(60) default 'china',
salary decimal(10,2) default 0.00 comment 'salary',
primary key (person_id)
 )engine=innodb default charset=utf8;



 



括号外设置引擎与默认编码
备注信息:comment
默认赋值:default关键词
主键:一般放在最后。primary key person_id
引擎:engine innodb



 



建表2:创建一个新表,与原表的表结构相同,但是并无数据。



create table table_nameliketable_name1;



 



2.2  修改表结构


alert table table_name  MODIFY  col_name column_definition [FIRST | AFTER col_name 
       ]#修改字段类型 
      
 
      

         alert table table_name  ADD col_name column_definition [FIRST | AFTER col_name 
       ]#增加字段 
      
 
      

         alert table table_name  DROP col_name 
       #删除字段 
      
 
      

         alert table table_name  CHANGE old_col_name new_col_name column_definition [FIRST|AFTER col_name 
       ]#修改字段名 
      
 
      

          
      
 
      

        如:将country字段修改长度为50个字节,并放在salary字段后。以下两种都可行。 
      
 
      
  
       change 
        country 
         
       country 
        varchar(50) 
         
       default 'china' 
        after salary;  
      
 
     
  
      modify 
       country varchar(50) 
        
      default 'china'  after salary;  
     
 
     

       修改字段时,注意原有默认值,修改命令时默认值仍需要添加 
     
 
    

        
    
 
    
 
     2.3 查看表结构 
    
 
   

      desc table_name;


2.4 删除表


drop table table_name;

 

 



插入语句:

insert into person_info(person_id,name,country,salary) values(1,'yu','china','2');#插入全部字段值,单条数据
insert into person_info(name) values('yu');#单条数据,只选插入的字段值。
 
     

       insert into person(name) valuse('a'),('b');#同时插入多条数据



 



插入数据时,自增字段不需要添加,默认值可不输入。