入门SQL操作
结构化查询语言:SQL:Structured Query Language
分类:
针对的操作对象不同。分成不同的语言:
1、数据操作(管理)语言( DML)
查询:获得数据。(DQL)
管理:增加、删除、修改数据。(DML)
2、数据定义语言(对保存数据的格式进行定义)(DDL)
3、数据库控制语言(针对数据库软件服务进行操作)(DCL)
一、库操作
1、创建数据库:
create database db_name [数据库选项];
2、数据库查询
(1)查询当前存在的数据库:
show databases;
注意:并不是只有用户可以创建数据库,mysql 内部维护自己的数据库。
(2)查看数据库的创建语句:
show create database db_name;
(3)数据库删除
drop database db_name;
(4)修改数据库信息
alter database db_name [修改指令];
指令:数据库属性的修改。
修改名字:
简单的可以直接修改目录名,
将数据库内容全部导出,新建一个数据库,将内容导入,删除旧数据库。
创建一个新数据库,将旧数据库内的表都移动(重命名)到新数据库内,删除旧数据库。
二、表操作
数据库是表的容器,表,必须属于某个数据库。
可以通过 . 语法,指明数据表所属的数据库
库.表 database . Table 如果任何的标识符,出现了特殊字符,需要使用反引号包裹。不同的标识符,分别包裹。
进行表操作时,都会指定当前的默认数据库。
use db_name; 只是设定了默认数据库,不会影响操作其他数据库。
(1)创建表:
create table tbl_name(列结构) [表选项];
先分析,需要保存的实体数据,拥有哪些属性,这些属性应该如何保存。
例如:班级的信息
班级班号,班级开办日期
create table php_one . php_class(
class_no varchar(20),
date_start date
);
use db_name;
create table p_class(
class_no varchar(20),
date_start date
);
create table php_two . php_class(
class_no varchar(20),
date_start date
);
列定义:
列名:列的数据类型[列的属性(约束)]
简单的字符串类型:valchar()
日期类型:date
(2)查看
有哪些表
show tables;
show tables[like 'pattern'];
其中like pattern 部分,表示只获得那种规则的表名
其中 % 称之为通配符,表示任意字符的任意个数的组合。
Like 适用于
show tables[like 'pattern'];
某个表的创建信息
show create table tbl_name;
查看表结构(描述表结构)
Describe tbl_name;
简写是 desc tbl_name;
数据库对应的目录,
显然,数据库内容对应的就应该是目录的内容,文件。
删除表:
Drop table[if exists] tbl_name;
表不存在,不能删除,会报错
适用于database:drop database [if exists] db_name;
修改表:
修改表名
Rename table old tbl_name to new tbl_name; 可同时支持修改多个表。
支持跨数据库重命名。可以利用跨数据库重名名表,可以为数据库重命名,
创建一个新的数据库,旧数据库内的表,都rename 到新的数据库内,删除旧的数据库。
修改列定义
增加一个新列:add
修改一个列的定义:modify
删除一个列:drop
重命名一个列:change
修改表结构,上面的是子命令,
上级是 alter table tbl_name add||drop||modify||change
修改表选项
Alter table tbl_name;
三、数据操作
1、创建数据(插入数据)
Insert into 表名 (字段列表) values (值列表)
如果需要在插入时,为所有的字段设置值,那么可以省略字段列表,
要求是值得顺序,应该与表中的字段的顺序一致。
2、获得数据(查询数据)
Select 字段列表 from 表名 查询条件
字段列表,可以使用 * 代替,表示所有的字段。
查询条件可以省略,表示所有的记录都获得。
相当于 where 1; 1表示永远成立,相当于默认
有条件的:
eg: Where fenshu >=72
3、删除数据库
Delete from 表名 条件.
删除需要在逻辑上严格给条件,否则,容易造成数据误操作,导致损失。语法上可以没有where
可以:如果要删除所有数据,使用where 1;
4、修改数据
Update 表名 set 字段=新值,…...条件。
四、字符集
如果通过客户端操作服务器,
通过mysql 的配置
Character_set_client客户端发送数据编码
Character_set_results 客户端接收数据的编码
通过指令 show variable like 'character_set_%';
设置变量:
Set 变量名=值;
五、校对规则
每一套,编码字符集都有与之相关的校队规则。
每个字符集都支持不定数量的校对规则。
可以通过如下指令:
Show collation;
可以看到:
字符集_地区名_比较规则(ci,cs,bin)不区分,区分,字节比较
可以使用like;
Show collation like 'utf8';
在设置字符集时,可以设置当前字符集所采用的校对规则,如果不设置校对规则,那么每个字符集都有一个默认的校对规则。
以gbk 为例,比较chinese_ci bin 之间的区别
Order by 关键字,可以在获得数据时,将数据按照某个字段排序。
入门SQL操作的更多相关文章
- 数据库优化和SQL操作的相关题目
SQL操作 1.有一个数据库表peope,表有字段name,age,address三个属性(注:没有主键).现在如果表中有重复的数据,请删去重复只留下其中的一条.重复的定义就是两条记录的name,ag ...
- 常用SQL操作(MySQL或PostgreSQL)与相关数据库概念
本文对常用数据库操作及相关基本概念进行总结:MySQL和PostgreSQL对SQL的支持有所不同,大部分SQL操作还是一样的. 选择要用的数据库(MySQL):use database_name; ...
- mongodb 操作语句与sql操作语句对比
上行:SQL 操作语句 下行:Mongo 操作语句 CREATE TABLE USERS (a Number, b Number) db.createCollection("mycoll&q ...
- AJAX入门---DOM操作HTML
AJAX入门---DOM操作HTML 一边学习AJAX一边坐着总结加深印象.上次写的是怎样简单的使用XMLHttpRequest对象.今天写的是DOM(文档对象模型(Document Object M ...
- 避免循环做SQL操作
经常犯的错误是把一个SQL 操作放置到一个循环中, 这就导致频繁的访问数据库,更重要的是, 这会直接导致脚本的性能低下.以下的例子, 你能够把一个循环操作重置为一个单一的SQL语句. foreach ...
- sql操作一般函数
sql操作一般函数 函数一般语法:SELECT function(列) FROM 表 函数的基本类型是: Aggregate 合计函数:函数的操作面向一系列的值,并返回一个单一的值. Scalar 函 ...
- flask 操作mysql的两种方式-sql操作
flask 操作mysql的两种方式-sql操作 一.用常规的sql语句操作 # coding=utf-8 # model.py import MySQLdb def get_conn(): conn ...
- ArcSDE10.1配置Oracle 监听器来使用SQL操作ST_Geometry(个人改动版)
发了两天的时间来解决配置Oracle 监听器来使用SQL操作ST_Geometry的配置,网上搜索一大片,结果真正找到的只有方法可用,下面把这个方法我个人在总结下. ArcSDE10.1配置Oracl ...
- SQL 操作字符串
SQL操作字符串相对来说比较难一点,现在总结几个常用的SQL 对字符串的操作: declare @dd nvarchar(12) set @dd='2015-03-13' print @dd decl ...
随机推荐
- GitHub下载提速
通过修改hosts文件来提速(该方法也可加速其他因为CDN被屏蔽导致访问慢的网站) 第一步:获取GitHub的IP地址 通过访问:http://tool.chinaz.com/dns或者https:/ ...
- Spring MVC随笔记录
根据https://blog.csdn.net/abc997995674/article/details/80353410整理 @ModelAttribute 可以用在方法.方法参数上,也可以和@re ...
- FPGA_VHDL 学习课堂笔记001
FPGA_VHDL 学习课堂笔记 记录说明:本文档主要记录大学期间,老师FPGA授课课堂笔记. 代码语言:VHDL 编程软件:MAX+plus II FPGA硬件:FLE-843 03月05日 ...
- FormsAuthentication 票据前后台登录导致掉线
一.前后台的用户信息都是采用.NET自带的FormsAuthentication 的ticket存取用户信息, 但是如果前后台用相同的用户使用票据这个会导致一方登陆后另一方会掉线,需要重新登陆. 二. ...
- centos7下Etcd3集群搭建
一.环境介绍 etcd主要功能是分布式的存储键值,优点不多说了,分布是集群,自动选举等等,自行百度,主要说下配置方法,折腾了几天,终于优点眉目了,记录下操作方法,本文参考了如下链接 https://w ...
- 某公司的U3D笔试题
某公司的U3D笔试题 今天这套笔试题感觉做得一般. 随后是二对一的技术面试,但涉及的技术细节相对较少,更多的是对以前工作.项目经历的询问. 然后说今天先到这里,让我等通知. 我还特意问了一下,通知 ...
- iOS socket常用数据类型转换
int -> data /** int -> data */ + (NSData *)intToData:(int)value { Byte byte[4] = {}; byte[0] = ...
- ERC20 token standard issues.
- 获取txt md5值上传文件完整性校验
网络上传文件到服务器 做md5 校对.判断文件是否破坏 首先求txt文件的md5值 ,1万条数据 求出的值 文件MD5:e5467b6a8e3c26af8c5af0bda3739280 服务器处理程序 ...
- Linux学习之编译安装apache
疯狂吐槽腾某云..编译安装apache折腾了一下午..还是我不太熟练. 首先要先准备好安装apache的三个依赖包以及apache包.(一定要准备好!!折腾了一下午的小白握拳!!) -rw-r--r- ...