1.创建数据库和表(DDL) 
create database xjj;       
use xjj;				 
create table tiantian();	
create table 表名(字段01名称 字段01类型 字段01约束,字段02名称 字段02类型 字段02约束,…)存储引擎,字符集
例:create table chuizi (id int not null,name char(10) not null,sex char(1),primary key (id));
  
2.管理数据表中的数据 
①insert 插入数据  
insert into 表名 (字段1,字段2) values (字段1的值,字段2的值)
或insert into 表名 values (所有字段的值)
  
②select 查询数据记录  
SELECT 字段名1,字段名2[,...] FROM 表名 [WHERE 条件表达式];
select * from 表名;  
select name,sex from 表名 where id=1;
select * from puxin_club limit 2;     
select * from puxin_club limit 2,3;   
  
③updata 修改、更新数据表中的数据记录  
UPDATE 表名 SET 字段名1=字段值1[,字段名2=字段值2] [WHERE 条件表达式];
update puxin_club set id=4 where name='tiantian';
select * from puxin_club;
  
④delete删除(对数据操作用delete,对库和表用drop)  
delete from 表名 where 条件表达式(不带where代表删除表中所有记录)
select * puxin_club;
  
3.修改表名和表结构 
①修改表名  
ALTER TABLE 旧表名 RENAME 新表名;
例:
alter table puxin_club rename xjj;
show tables;
select * from xjj;
  
②扩展表结构(增加字段)  
ALTER TABLE 表名 ADD address varchar(50) default '地址不详';
例:
alter table xjj add address varchar(50) default '地址不详';
  
③修改字段(列)名,添加唯一键  
ALTER TABLE 表名 CHANGE 旧列名 新列名 数据类型 [unique key];
例:
alter table xcf change hobby age varchar(20) unique key;
select * from xcf;
insert into xcf (id,name,age,address) values (5,'tiantian','2','shi');
select * from xcf;
  
④删除字段  
ALTER TABLE 表名 DROP 字段名;
例:
 alter table xcf drop address;
  
4.数据库高级操作 
①清空表  
delete from xxx;
truncate table xxx;
truncate清空表,表还在;drop是删除表中所有记录
truncate和delete是两者的新值初始id不同
  
②临时表  
临时建立的表,用于保存一些临时数据,不会长期存在
create temporary table xxx(...)engine=innodb default charset=utf8;
innodb 支持事务;写在括号外面的是对整张表的设定。
show tables;看不到临时表
  
③克隆表  
like方法:从aaa表完整复制结构生成hhh表
create table hhh like aaa;
导入数据:insert into hhh select * from aaa;
  
5.数据库用户授权 
①设置登录密码为abc123的lisi用户,可以从任意终端登录,对所有库和所有表有全部权限  
create user 'lisi'@'%' identified by 'abc123';
grant all on *.* to 'lisi'@'%' identified by 'abc123';
  
②设置登录密码为abc123的tom用户,可以从本地终端登录,对mysql库中的user表有select权限  
create user 'tom'@'localhost' identified by 'abc123';
grant select on mysql.user to 'tom'@'abc123' identified by 'abc123';
  
③查看当前用户的权限:show grants;  
查看当前系统中的用户:select user from mysql.user;
查看从本地登录的tom用户的权限:
show grants for 'tom'@'localhost';
  
④撤销用户的权限  
revoke select on mysql.user from 'tom'@'localhost';
 
                
                
                
        
    
 
 |