my sql 的基本操作

# 关系型数据库和非关系型数据库

# 结构化查询语言(Structured Query Language)简称SQL

# 关系型和非关系型之间的实际用处
# NOSQL非关系型数据库小结:
#     1、NOSQL不是否定关系数据库,而是作为关系数据库的一个重要补充
#     2、NOSQL为了高性能、高并发而生,忽略影响高性能,高并发的功能
#     3、NOSQL典型产品memcached (纯内存),redis(持久化缓存),mongodb(文档的数据库)
# MySQL 属于关系型数据库

## 方法1,直接在dos命令行下(需要添加环境变量)
# 格式:mysqladmin -u用户名 -p旧密码 password 新密码

# 方法2: 用SET PASSWORD命令
# 首先登录MySQL,使用mysql自带的那个客户端连接上mysql。
# 格式:mysql> set password for 用户名@localhost = password('新密码');

# 方法3:用UPDATE直接编辑那个自动的mysql库中的user表
# 首先登录MySQL,连接上mysql服务端。
# mysql> use mysql;   use mysql的意思是切换到mysql这个库,
# 这个库是所有的用户表和权限相关的表都在这个库里面,我们进入到这个库才能修改这个库里面的表。
# mysql> update user set password=password('123') where user='root' and host='localhost';   其中password=password('123') 前面的password是变量,后面的password是mysql提供的给密码加密用的,
# 我们最好不要明文的存密码,对吧,其中user是一个表,存着所有的mysql用户的信息
# mysql> flush privileges #刷新
# shell>mysql -u root -p
# mysql> update user set password=password(”xueok654123″) where user=’root’;
修改mysql中的root的密码


1 my sql 的常用命令
#  select version(),current_date;# 显示当前mysql版本和当前日期
SQL 包含4个部分
1.1数据定义语言DDL(Data Definition Language):操作的对象时数据库和表
常用的关键字   create alter drop truncate(删除当前表再新建一个一模一样的表结构)

# use dbname; 打开数据库:
# create database name; 创建数据库
# use databasename; 选择数据库
# drop database name 直接删除数据库,不提醒
# mysqladmin drop database name 删除数据库前,有提示。
# mysql> flush privileges //刷新数据库

#   创建表:create table student(
#
#       id int(4) primary key auto_increment,
#
#       name varchar(20),
#
#       score int(3)
#
#     );#varchar类型的长度是可变的,取值范围是0-65535
# varchar类型实际占用空间为字符串的实际长度加1
# char类型的长度是固定的,在创建表时就指定了,其长度可以是0-255之间的任意值。
# 虽然char占用的空间比较大,但它的处理速度快
# alter table student rename (to) teacher;
# alter table student add password varchar(20);
# alter table student change password pwd varchar(20);
# alter table student modify pwd int;
# alter table student drop pwd;

# show tables;  #查看当前库中所有的表
# show create table t1; #查看单表的创建信息
# 以表格的形式显示结果
# desc t1;#查看表的结构
# describe t1;#上下这两句是一样的结果
# show tables; 显示表
# describe tablename; 表的详细描述
# describe user; 显示表mysql数据库中user表的列信息);
数据定义语言DDL

1.2 :数据操纵语言DML(Data Manipulation Language)对象:纪录(行)

关键词:insert update delete
# 插入:insert into student values(01,'tonbby',99); (插入所有的字段)
#       insert into student(id,name) values(01,'tonbby'); (插入指定的字段)
# #
# 更新:update student set name = 'tonbby',score = '99' where id = 01;
# #
# 删除:delete from tonbby where id = 01;
# delete from t1 where id=1; #删除id为1的行
# truncate table t1;数据量大,删除速度比上一条快,且直接从零开始

# update t1 set name='sb' where id=2; #把id为2的行(记录)中的name字段的数据改为sb;id>1;id<=1;等等都可以
# update t1 set name='sb',id=88 where id>2; #对两个字段进行修改
# update t1 set name='sb';#如果不指定where,那么会name字段的所有数据都改成sb
数据操纵语言DML

1.3:数据查询语言DQL(Data Query Language)

# select ... from student where 条件 group by 分组字段 having 条件 order by 排序字段
# 执行顺序:from->where->group by->having->order by->select

# select 中加上distinct去除重复字段
# select * from t1; #查看t1表中所有字段的数据,select 字段 from 表。
# select id,name from t1;#查看t1表中的id和name列的数据,其他的不看,注意格式,每个字段逗号分隔,


# group by 通常和聚合函数(avg(),count()...)一起使用 ,经常先使用group by关键字进行分组,然后再进行集合运算。
# group by与having 一起使用,可以限制输出的结果,只有满足条件表达式的结果才会显示。
# having和where的区别:
# 两者起作用的地方不一样,where作用于表或视图,是表和视图的查询条件。having作用于分组后的记录,用于选择满足条件的组。
#
数据查询语言DQL

1.4:数据控制语言DCL(Data Control Language)

# 数据控制语言DCL用来授予或回收访问数据库的某种特权,并控制数据库操纵事务发生的时间及效果,
# 对数据库实行监视,用户,权限,事务等。
#
#   grant:授权,rollback:回滚。commit:提交。
数据控制语言DCL
 
 




猜你喜欢

转载自www.cnblogs.com/vivi0403/p/10072793.html