SQL语言总结(学习笔记)

2014-11-24 15:27:30 · 作者: · 浏览: 0

存储数据:

首先建立数据库

之后建立数据表

操作数据

数据有哪些操作(CURD)

C => CREATE UPDATE READ DELETE(DROP)

1 库操作:database

① 查看数据库: show databases like “条件”;完整命令

Show databases;

Show databases like ‘%t%’;

通配符:%可以任意长度的字符串,包括空字符串

例: showdatabases like ‘%itcast%’; 全匹配

Show databases like ‘%itcast’; 前匹配

Show databases like ‘itcast%’; 后匹配

_下划线可以匹配任意一个字符

例:show databases like ‘_itcast’; 不包括空字符

数据库命名规则:可以使用字母,下划线,数字。

注意:

尽量不要使用系统保留字作为数据库、表、字段的名称。

尽量使用小写字母,原因是linux这种操作系统是大写有区分,如果库名比较长,不要使用驼峰法,如果userInfo 建议使用user_info。

② 查看数据库的创建资料

Show create database数据库名;

Show create database itcast;

③ 创建数据库

简单方式:

Create database 数据库名;

Create databases itcast2;

如果没有指定数据的字符集,则使用数据库安装时的默认字符集。

有四个级别的字符集:

服务器级:

数据库级:

数据表级:

字段级:

数据库安装时需要指定字符集,并不是数据库只支持这一种字符集。

容错方式:

Create database if not exists itcast2;

库名包裹方法

就是用反引号将库名包裹起来

Create database `match`;

当然库名表名字段名不是保留字最好也加上反引号。

指定字符集:

Create database itcast default charset=gbk;

Mysql中是utf8而不是utf-8;

④修改数据库:alter

Alter database 数据库名 选项

我们都要什么选项:字符集和校对规则

每创建一个数据库都会创建db.opt,下面的那行为校对规则。

Alter database itcase charset=utf8;

⑤删除数据库

Dropdatabase if exists 库名

Dropdatabase if exists itcast;

如果删除数据库,则数据库所有数据及文件全部都没有了。

2 表操作

① 创建表

Create table表名 (字段定义) 表选项

Create table student_info

(

Student_id int,

Student_name varchar(20)

)

创建表之前选择数据库,使用use库名的方法指定数据库。

也可以在创建时写成itcast.student_info;

② 查看数据表,show

格式:show tables 查看所有的表

也支持条件查询,模糊查询

Show table like ‘student_info%’;

查看表的创建信息

格式:show createtable student_info;添加\G使内容更清晰

③ 查看表结构 desc, describe

格式:Desc 表名

格式:showcolumns from 表名

Show columns from student_info;

④ 修改表结构 alter

格式:alter 表名修改内容1, …,…

Modify 修改字符串属性

Alter table student_info modify student_name varchar(30);

Alter table student_info modify student_name studentnamevarchar(20);

Change可以该字段名

Alter table student_info change student_name studentnamevarchar(20);

Add 可以增加字段

Alter table student_info add gender char(1) after student_name;

增加了字段同时指定了放置的顺序

Drop 可以删除字段

Alter table student_info drop gender;

⑤ 复制表

格式:createtable like 或者 select

先插入一条数据,然后复制表结构

Create table student_copy like student_info;此时没有数据,只是复制表结构

同时复制数据呢?

Create table student_copy select * from student_info;

⑥ 交换表名的技巧,rename

本身

Rename table student_info to student_tmp, student_copyto student_info,

Student_tmp to student_copy

⑦ 删除表

Drop table if exists student_copy2; 执行第二次不报错。