目录
一,数据库操作
1.关键字 show 显示当前数据库有哪些:show databases;
2.创建数据库
3.选中数据库
4.删除数据库
二,表的操作,在选中数据库的基础之上
1.查看表的结构
2.创建表
3.查看当前选中的数据库中有哪些表
4.删除表
总结:
三,表的增删改查
2.表的查询(上)
3.取别名
4.去重:distinct
5.排序 order by
7.删除 delete
本篇涉及库的操作:库的创建,库的显示,库的删除;
表操作:表的创建,表的删除
一,数据库操作
1.关键字 show 显示当前数据库有哪些:show databases;
databases:代表数据库
图中Databaese下面的便是自己的mySQOL中所有数据库,图中有7个。
2.创建数据库
create database [ if not exists ] 库名 [ charset utf8];
create database表示关键字。
这里库名需要注意,库名不能使用MySQL中的关键字,如果避免不了则用英文输入法反引号引用起来 `` 。
[ if not exists ] 表示如果该库存在就啥也不做,如果不存在就创建。好像没什么用处这里。
真正用处:在以后一次性批量执行sql语句时,只要有一个语句错误就停止程序,避免过多损失。
charset 表示指定数据库使用什么类型的字符集避免个别字符不能被MySQL识别,选用合适的字符集对开发具有重大的意义。
utf8 是一种字符集。是当前最流行的最实用的,能够表示中文,也能够表示大多数语言。
表示的字符所占用的字节数是不定的,一般中文字符是3字节。
3.选中数据库
use 库名;
表示选中成功,任何操作都需要选中对象,对于数据库也是。后面对于表的操作都需要
先选中表所在数据库,再对表进行操作。
4.删除数据库
drop database [ if not exists] 库名;
数据库被删除以后,就再也看不到这个数据库,以及它里面储存的所有表。
删除成功;
温馨提示:删除数据库是一个非常危险的操作。在实际工作中公司储存的数据是非常大的,
如果不小心删除了某个数据库,那么后果不堪设想损失也是按分钟计算的。
二,表的操作,在选中数据库的基础之上
1.查看表的结构
desc 表名;
Field:字段名字,Type:字段类型,Null:该字段是否允许为空
Key:索引类型,Default:默认值 Extra :扩充
2.创建表
create table 表名 ( 列名 类型,列名 类型.....);
表创建完成后,插入所有的数据均要按照表定义时的类型顺序。
comment ,# ,-- 都可以用来写注释
示例:
3.查看当前选中的数据库中有哪些表
use 数据库名
show tables ;
4.删除表
drop table [ if exists ] 表名 ;
示例:
删除表的操作也是危险性极大的,删表比删库更可怕,删库后口音第一时间发生报警,
可以及时抢救,但是删除某一表之后,如果不再次访问,可能永远也发现不了。
总结:
对于库的操作:
展示库:show databases; 展示表:show tables
创建库:create database 库名 创建表:create table 表名(列名 类型....);
选中库:use 库名; 查看表结构:desc 表名;
删除库:drop database 库名; 删除表:drop table 表名;
三,表的增删改查
1.表的新增 确保创建数据库的时候指定字符集utf8,这个可以支持中文字符
单行插入全列数据: insert into 表名 values (数据 ,数据 .....)
多行插入全列数据: insert into 表名 values (数据 ,数据 .....),(数据 ,数据 .....)......
多行插入指定列数据:insert into 表名(列名,列名....) values (数据,数据...), (数据,数据...)..
MySQL是一个客户端-服务器 结构的程序,在实际插入过程中我们尽量一次性插入多行,避免多次向服务器访问造成效率低下。
2.表的查询(上)
select * from 表名; 全列查询
select 列名 ,列名... from 表名; 指定列名查询
* 是通配符,select是关键字
示例:
查询字段为表达式:
3.取别名
select 列名 (as) 别名 from 表名;as不建议省略容易混乱
select操作生成的表只是一个临时的表,并没有改变原有的数据
4.去重:distinct
distinct 列名;
5.排序 order by
select 列名 from 表名 order by desc(降序) / asc(升序);
1.使用order by 排序没有指定降序或升序,排出的结构都是不可取的,因为顺序不定
2.NULL排序视为比任何数据都要小,排升序在最上面,降序在最下面
3.对表达式及别名排序
4.对多个字段同时排序,排序优先级按书写顺序
6.修改update
update 表名 set 列名 = what ;
7.删除 delete
delete from 表名 [where..];