`

Sql语句总结归纳

    博客分类:
  • sql
阅读更多

sql语句

分为两大类

 

针对数据库database和表table的操作

创建create

删除drop

修改alter

查看show

 

创建一个数据库

create database mydb;

 

删除表

drop table users;

 

针对表中的记录(数据)的操作

insert语句

delete语句

update语句

select语句  查询尤其重要

 

一、 数据库的操作

创建一个名称为mydb1的数据库

create database mydb1;

 

创建一个使用utf-8字符集的mydb2数据库

create database mydb2 character set utf8;

 

创建一个使用utf-8字符集,并带校对规则的mydb3数据库

create database mydb3 character set utf8 collate utf8_general_ci;

 

查看当前数据库服务器中的所有数据库

show databases;

 

查看前面创建的mydb2数据库的定义信息

show create database mydb2;

 

删除前面创建的mydb3数据库

drop database mydb3;

// 删除数据库 判断是否存在

drop database if exists mydb3;

 

mydb1 的字符集修改为 gbk

alter database mydb1 character set gbk;

 

备份和恢复数据库

// 插入一点数据

// 说明使用哪个数据库

use mydb2;

// 建表

create table a

(

       name varchar(20)

);

// 插入两条记录

insert into a(name) values('aaa');

insert into a(name) values('bbb');

// 查询语句 查看表中的数据

select * from a;

 

// 备份数据

mysqldump -uroot -p 数据库 > 文件名

// 恢复数据库

source 文件名;

// 恢复数据库只能恢复数据  需要先建库

create database mydb2;

use mydb2;

source d:\a.sql;

 

// source命令用来执行sql脚本文件

 

 

二、 表的操作

Id    整形

name       字符型

gender     字符型或bit

brithday  日期型

Entry_date      日期型

job   字符型

Salary     小数型

resume    大文本型

create database day10;

use day10;

// 创建一张表

create table employee

(

       id int,

       name varchar(20),

       gender varchar(6),

       birthday date,

       entry_date date,

       job varchar(20),

       salary double,

       resume text

);

// 查看表的创建信息

show create table employee;

 

// 查看表的结构

desc employee;

 

// 修改表

在上面员工表的基础上增加一个image

alter table employee add image blob;

 

修改job列,使其长度为60

alter table employee modify job varchar(60);

 

删除gender

alter table employee drop gender;

 

表名改为users

rename table employee to users;

 

修改表的字符集为utf-8

alter table users character set gbk;

 

列名name修改为username

alter table users change column name username varchar(30);

 

 

 

 

三、 insert语句

创建表  employee.sql

create table employee

(

       id int,

       name varchar(20),

       sex varchar(10),

       birthday date,

       salary float,

       entry_date date,

       resume text

);

// 插入三条记录

insert into employee (id,name,sex,birthday,salary,entry_date,resume) values(1,'zhangsan','male','1980-11-4',1000,'2000-2-18','good boy');

insert into employee (id,name,sex,birthday,salary,entry_date,resume) values(2,'lisi','male','1978-11-4',2000,'2006-2-18','good boy');

insert into employee (id,name,sex,birthday,salary,entry_date,resume) values(3,'xiaohong','female','1982-11-4',4000,'2004-5-18','good girl');

 

insert into employee (id,name,sex,birthday,salary,entry_date,resume) values(4,'王刚','male','1982-11-4',3000,'2009-2-18','一个好男孩');

 

// 修改数据库客户端的字符集

// 查看数据库中字符集的变量  使用模糊查询

show variables like 'character%';

 

set character_set_client=gbk;

set character_set_results=gbk;

 

// 创建一张a

create table a

(

       username varchar(20),

       password varchar(20)

);

 

// 一条insert语句插入两条数据

insert into a (username,password) values('aaa','123'),('bbb','456');

 

// 如果插入所有的列 列名可以省写

insert into a values('ccc','123'),('ddd','456');

 

insert into a values('aaa');  错误

insert into a (username) values('aaa');  正确

// into可以省写

insert a value('eee','1111');

 

四、update语句

将所有员工薪水修改为5000元。

update employee set salary=5000;

 

将姓名为’zhangsan’的员工薪水修改为3000

update employee set salary=3000 where name='zhangsan';

 

将姓名为’lisi’的员工薪水修改为4000,sex改为female

update employee set salary=4000,sex='female' where name='lisi';

 

xiaohong的薪水在原有基础上增加1000元。

update employee set salary=salary+1000 where name='xiaohong';

 

五、 delete语句

 

删除表中name为’zhangsan’的记录

delete from employee where name='zhangsan';

 

删除表中所有记录。

delete from employee;

 

使用truncate删除表中记录

truncate employee;  // 先删除表再重新创建表

分享到:
评论
1 楼 shamusoft 2011-05-10  
id int primary key auto_increment

相关推荐

Global site tag (gtag.js) - Google Analytics