基本操作

#1 操作文件夹(库)

create database db1 charset utf8; --指定格式为utf8 查
show databases; --查看所有的数据库
show create database db1; --查看已经建好的数据库信息

alter database db1 charset gbk; --修改数据库的字符编码

drop database db1;
其他
use database_name; ---使用某个数据库,相当于进入这个数据库(文件夹)
select database(); ---显示当前所在的数据库 #2 操作文件(表) 切换到文件夹下:use db1 增
create table t1(id int,name char(10))engine=innodb;--增加一个表,后面追加了他的数据引擎
create table t2(id int,name char(10))engine=innodb default charset utf8;--增加一个表,后面追加了他的数据引擎和

show tables;--查看表中的所有表
show create table t1; --查看已有的表的类型和desc功能差不多,就是表先形式不好。 desc t1;---查看表结构

alter table t1 add age int; -----------------给已有的表中添加字段(重点)
列:alter table ti add 添加的名 类型;
alter table t1 modify name char(12); --------修改字段的类型。
rename table 原表名 to 新表名 -------------修改表名
---------------------------------------------------------------
2.修改字段 (以t2表为例)
alter table t2 modify salary int not null; # 更改salary字段的数据类型,并加not null的约束条件。
alter table t2 change salary salaries int; # 更改salary字段的名字为salaries,注意 会改变约束条件,需要的话,需要添加;
其实相当于删除了salary字段,重新创建了一个salaries字段。 删
drop table t1; --直接删除一个表。 #3 操作文件的一行行内容(记录)

insert into db1.t1 values(1,'egon1'),(2,'egon2'),(3,'egon3');
insert into db1.t1(name) values('egon1'),('egon2'),('egon3');

select * from t1;
select name from t1、、、、、、;
select name,id from t1;

update t1 set name='SB' where id=4;
+ update t1 set name='SB' where name='alex';

delete from t1 where id=4; #对于清空表记录有两种方式,但是推荐后者
delete from t1;
truncate t1; #当数据量比较大的情况下,使用这种方式,删除速度快 #自增id
create table t5(id int primary key auto_increment,name char(10));
create table t4(id int not null unique,name char(10)); insert into t5(name) values
('egon5'),
('egon6'),
('egon7'),
('egon8'),
('egon9'),
('egon10'),
('egon11'),
('egon12'),
('egon13'); #拷贝表结构
create table t7 select * from t5 where 1=2;
alter table t7 modify id int primary key auto_increment; insert into t7(name) values
('egon1'),
('egon2'),
('egon3'),
('egon4'),
('egon5'),
('egon6'),
('egon7'),
('egon8'),
('egon9'),
('egon10'),
('egon11'),
('egon12'),
('egon13'); delete from t7 where id=1; #删记录
update t7 set name=''; #修改字段对应的值

练习

语法:
1. 修改表名
ALTER TABLE 表名
RENAME 新表名; 2. 增加字段
ALTER TABLE 表名
ADD 字段名 数据类型 [完整性约束条件…],
ADD 字段名 数据类型 [完整性约束条件…];
ALTER TABLE 表名
ADD 字段名 数据类型 [完整性约束条件…] FIRST;
ALTER TABLE 表名
ADD 字段名 数据类型 [完整性约束条件…] AFTER 字段名; 3. 删除字段
ALTER TABLE 表名
DROP 字段名; 4. 修改字段
ALTER TABLE 表名
MODIFY 字段名 数据类型 [完整性约束条件…];
ALTER TABLE 表名
CHANGE 旧字段名 新字段名 旧数据类型 [完整性约束条件…];
ALTER TABLE 表名
CHANGE 旧字段名 新字段名 新数据类型 [完整性约束条件…]; 示例:
1. 修改存储引擎
mysql> alter table service
-> engine=innodb; 2. 添加字段
mysql> alter table student10
-> add name varchar(20) not null,
-> add age int(3) not null default 22; mysql> alter table student10
-> add stu_num varchar(10) not null after name; //添加name字段之后 mysql> alter table student10
-> add sex enum('male','female') default 'male' first; //添加到最前面 3. 删除字段
mysql> alter table student10
-> drop sex; mysql> alter table service
-> drop mac; 4. 修改字段类型modify
mysql> alter table student10
-> modify age int(3);
mysql> alter table student10
-> modify id int(11) not null primary key auto_increment; //修改为主键 5. 增加约束(针对已有的主键增加auto_increment)
mysql> alter table student10 modify id int(11) not null primary key auto_increment;
ERROR 1068 (42000): Multiple primary key defined mysql> alter table student10 modify id int(11) not null auto_increment;
Query OK, 0 rows affected (0.01 sec)
Records: 0 Duplicates: 0 Warnings: 0 6. 对已经存在的表增加复合主键
mysql> alter table service2
-> add primary key(host_ip,port); 7. 增加主键
mysql> alter table student1
-> modify name varchar(10) not null primary key; 8. 增加主键和自动增长
mysql> alter table student1
-> modify id int not null primary key auto_increment; 9. 删除主键
a. 删除自增约束
mysql> alter table student10 modify id int(11) not null; b. 删除主键
mysql> alter table student10
-> drop primary key;

常用的查询语句:

1、字符串的模糊查询:

SELECT * FROM tb_stu WHERE sname = '小刘'
SELECT * FROM tb_stu WHERE sname like '刘%'
SELECT * FROM tb_stu WHERE sname like '%程序员'
SELECT * FROM tb_stu WHERE sname like '%PHP%'

2、查询前n条记录

select *  from class LIMIT 2,4;

limit 后面是从,之前是从哪里开始,后面是查询几条数据

3、查询从指定位置开始的n条记录

SELECT * FROM tb_stu ORDER BY id ASC LIMIT $n

$n是倒数的索引位置

4、 查询从指定位置开始的n条记录

SELECT * FROM tb_stu ORDER BY id ASC LIMIT $_POST[begin],$n

5、查询非空数据

SELECT * FROM tb_name WHERE address <>'' order by addtime desc

6、显示数据表中重复的记录和记录条数

SELECT name,age,count(*) ,age FROM tb_stu WHERE age = '19' group by date
 group by是以什么分组

7、十八对数据进行降序/升序查询 

 SELECT 字段名 FROM tb_stu WHERE 条件 ORDER BY 字段 DESC     降序

 SELECT 字段名 FROM tb_stu WHERE 条件 ORDER BY 字段 ASC       升序
ORDER BY是排序
DESC     降序
ASC      升序

  

 

mysql的常用操作的更多相关文章

  1. DBA必备:MySQL数据库常用操作和技巧

    DBA必备:MySQL数据库常用操作和技巧 2011-02-25 15:31 kaduo it168 字号:T | T MySQL数据库可以说是DBA们最常见和常用的数据库之一,为了方便大家使用,老M ...

  2. mysql的常用操作的封装

    1.概述: 为了把繁琐的操作简化成简单的类,设计了2个类用来封装了mysql的常用操作,以便使用者可以方便地使用. 2.组成 1)数据库操作类CDatabaseConnect 2)SQL对象类CSql ...

  3. Linux下mysql的常用操作

    Linux下mysql的常用操作: 显示数据库 show databases; 选择数据库 use 数据库名; 显示数据库中的表 show tables; 显示数据表的结构 describe 表名; ...

  4. ubuntu下安装mysql及常用操作

    1.可通过ps -ef | grep mysql命令查看系统中是否有安装mysql 如果出现类似上述的页面,就证明是已经安装过了mysql,否则就是没有. 2.安装mysql 很简单,只需要键入如下命 ...

  5. 网站用户行为分析——在Ubuntu下安装MySQL及其常用操作

    安装MySQL 使用以下命令即可进行mysql安装,注意安装前先更新一下软件源以获得最新版本: sudo apt-get update #更新软件源 sudo apt-get install mysq ...

  6. Linux下MySql数据库常用操作

    1.显示数据库 show databases; 2.选择数据库 use 数据库名; 3.显示数据库中的表 show tables; 4.显示数据表的结构 describe 表名; 5.显示表中记录 S ...

  7. mysql之常用操作

    1. 数据库介绍 什么是数据库? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据.我们也可以将数 ...

  8. Mysql之常用操作(2)

    Windows服务 -- 启动MySQL net start mysql -- 创建Windows服务 sc create mysql binPath= mysqld_bin_path(注意:等号与值 ...

  9. MySQL数据库常用操作和技巧

    MySQL数据库可以说是DBA们最常见和常用的数据库之一,MySQL的广泛应用,也使更多的人加入到学习它的行列之中.下面是老MySQL DBA总结的MySQL数据库最常见和最常使用的一些经验和技巧,分 ...

随机推荐

  1. 详解Python的作用域和命名空间

    最近在学习Python,不得不说,Python真的是一门很好用的语言.但是学习的过程中关于变量作用域(scope)的命名空间(namespace)的问题真的把我给搞懵了.在查阅了相关资料之后,觉得自己 ...

  2. Django基础-01

    Django 是基于 Python,所有的 Django 代码都是用Python写成的. Django 特点 强大的数据库功能 拥有强大的数据库操作接口(QuerySet API),如需要也能执行原生 ...

  3. 第一章04:JDK与JRE 区别

    JDK = 开发工具 JRE = 运行程序 跨平台性 java程序 = 可以在任何系统中运行(不分系统) JVM = java虚拟机(不同系统下载不一样的JDK版本)(安装的时候包含在jre里面)

  4. MinHook 分析01 (x86的jmp+offset类型hook)

    MinHook的原理就在于重写目标函数.在这次分析的X86模式中,32位相对JMP覆盖了整个地址空间.因为在相对地址计算中溢出的位被忽略,所以在X86模式中,函数的地址是容易掌控的. 直接来进入正题. ...

  5. Java oop(一些自己的理解,并没有展开很细)

    一下内容是自己总结用的,只是按照自己的理解去写.参考的是菜鸟教程.Java 是一个面向对象的语言.OOP就是面向对象编程.封装:在某些类里面,某些属性不想向外暴露,但是我们又想提供一个方法去访问或修改 ...

  6. Python中集合set()的使用及处理

    在Python中集合(set)与字典(dict)比较相似,都具有无序以及元素不能重复的特点 1.创建set 创建set需要一个list或者tuple或者dict作为输入集合 重复的元素在set中会被自 ...

  7. 简单的bootstarp项目实例

    ===========index.html==============<!DOCTYPE html> <html> <head> <meta charset= ...

  8. vue created中初始化属性

    created:在模板渲染成html前调用,即通常初始化某些属性值,然后再渲染成视图. mounted:在模板渲染成html后调用,通常是初始化页面完成后,再对html的dom节点进行一些需要的操作

  9. WPF自定义用户控件不显示

    1,Themes\Generic.xaml最好不要更名 "Generic.xaml"这个名称并非偶然通过上面的叙述,你可能会有冲动将Generic.xaml中的Style代码剪切出 ...

  10. Neural Network Programming - Deep Learning with PyTorch with deeplizard.

    PyTorch Prerequisites - Syllabus for Neural Network Programming Series PyTorch先决条件 - 神经网络编程系列教学大纲 每个 ...