一、数据操作

1.显示数据库

 show databases;

2.创建数据库

 #utf-
create database 数据库名称 default charset utf8 collate utf8_general_ci; 3 #gbk
4 create datahase 数据库名称 default charset utf8 gbk collate gbk_chinese_ci;

3.使用数据库

 use 数据库名称

4.用户管理

 .创建用户
create user '用户名'@'IP地址' identified by ‘密码’;
.删除用户
drop user '用户名'@ 'IP地址;
.修改用户
rename user '用户名'@ 'IP地址'; to '新用户'@ 'IP地址;
.权限管理
查看权限:show grant for ‘用户’@’IP地址’;
授权:grant 权限 on 数据库.表 to ‘用户’@’IP地址’;
取消授权:revoke 权限 on 数据库.表. from ‘用户’@’IP地址’;
出grant外所有的权限:all privileges
插入权限:select,insert

特殊情况:忘记密码

 # 启动免授权服务端
mysqld --skip-grant-tables # 客户端
mysql -u root -p # 修改用户名密码
update mysql.user set authentication_string=password('') where user='root';
flush privileges;

二、数据表基本操作

1.创建表

(1)

 create table 表名(
列名 类型 是否可以为空 auto_increment primary key,
列名 类型 是否可以为空
)engine=ioondb, default chartset=utf8;
或者
create table 表名(
列名 类型 是否可以为空 ,
列名 类型 是否可以为空,
primary key(列名,列名)
)engine=ioondb, default chartset=utf8;

(2)创建外键

create table 表名1(
列名1 类型 不为空 auto_increment primary key,
列名2 类型 是否可以为空
)engine = innodb,default charset = utf8; create table 表名2(
列名3 类型 不为空 auto_increment primary,
列名4 类型 是否可以为空
constraint fk_xx foreign key (l列表名4) references 表名1 (列表名2)
)engine = innodb default charset = utf8;

2.删除表

 drop table 表名;

3.清空表

 delete from 表名;
truncate table 表名;

4.修改表

 添加列:alter table 表名 add 列名 类型
删除列:alter table 表名 drop column 列名
修改列:
alter table 表名 modify column 列名 类型; -- 类型
alter table 表名 change 原列名 新列名 类型; -- 列名,类型 添加主键:
alter table 表名 add primary key(列名);
删除主键:
alter table 表名 drop primary key;
alter table 表名 modify 列名 int, drop primary key; 添加外键:alter table 从表 add constraint 外键名称(形如:FK_从表_主表) foreign key 从表(外键字段) references 主表(主键字段);
删除外键:alter table 表名 drop foreign key 外键名称; 修改默认值:ALTER TABLE testalter_tbl ALTER i SET DEFAULT ;
删除默认值:ALTER TABLE testalter_tbl ALTER i DROP DEFAULT;

5.基本数据类型

MySQL的数据类型大致分为:数值、时间和字符串

   bit[(M)]
二进制位(),m表示二进制位的长度(-),默认m= tinyint[(m)] [unsigned] [zerofill] 小整数,数据类型用于保存一些范围的整数数值范围:
有符号:
- ~ .
无符号:
~ 特别的: MySQL中无布尔值,使用tinyint()构造。 int[(m)][unsigned][zerofill] 整数,数据类型用于保存一些范围的整数数值范围:
有符号:
- ~
无符号:
~ 特别的:整数类型中的m仅用于显示,对存储范围无限制。例如: int(),当插入数据2时,select 时数据显示为: bigint[(m)][unsigned][zerofill]
大整数,数据类型用于保存一些范围的整数数值范围:
有符号:
- ~
无符号:
~ decimal[(m[,d])] [unsigned] [zerofill]
准确的小数值,m是数字总个数(负号不算),d是小数点后个数。 m最大值为65,d最大值为30。 特别的:对于精确数值计算时需要用此类型
decaimal能够存储精确值的原因在于其内部按照字符串存储。 FLOAT[(M,D)] [UNSIGNED] [ZEROFILL]
单精度浮点数(非准确小数值),m是数字总个数,d是小数点后个数。
无符号:
-3.402823466E+38 to -1.175494351E-38, 1.175494351E-38 to 3.402823466E+38
有符号: 1.175494351E-38 to 3.402823466E+38 **** 数值越大,越不准确 **** DOUBLE[(M,D)] [UNSIGNED] [ZEROFILL]
双精度浮点数(非准确小数值),m是数字总个数,d是小数点后个数。 无符号:
-1.7976931348623157E+308 to -2.2250738585072014E-308 2.2250738585072014E-308 to 1.7976931348623157E+308
有符号: 2.2250738585072014E-308 to 1.7976931348623157E+308
**** 数值越大,越不准确 **** char (m)
char数据类型用于表示固定长度的字符串,可以包含最多达255个字符。其中m代表字符串的长度。
PS: 即使数据小于m长度,也会占用m长度
varchar(m)
varchars数据类型用于变长的字符串,可以包含最多达255个字符。其中m代表该数据类型所允许保存的字符串的最大长度,只要长度小于该最大值的字符串都可以被保存在该数据类型中。 注:虽然varchar使用起来较为灵活,但是从整个系统的性能角度来说,char数据类型的处理速度更快,有时甚至可以超出varchar处理速度的50%。因此,用户在设计数据库时应当综合考虑各方面的因素,以求达到最佳的平衡 text
text数据类型用于保存变长的大字符串,可以组多到65535 (** − )个字符。 mediumtext
A TEXT column with a maximum length of ,, (** − ) characters. longtext
A TEXT column with a maximum length of ,,, or 4GB (** − ) characters. enum
枚举类型,
An ENUM column can have a maximum of , distinct elements. (The practical limit is less than .)
示例:
CREATE TABLE shirts (
name VARCHAR(),
size ENUM('x-small', 'small', 'medium', 'large', 'x-large')
);
INSERT INTO shirts (name, size) VALUES ('dress shirt','large'), ('t-shirt','medium'),('polo shirt','small'); set
集合类型
A SET column can have a maximum of distinct members.
示例:
CREATE TABLE myset (col SET('a', 'b', 'c', 'd'));
INSERT INTO myset (col) VALUES ('a,d'), ('d,a'), ('a,d,a'), ('a,d,d'), ('d,a,d'); DATE
YYYY-MM-DD(--/--) TIME
HH:MM:SS('-838:59:59'/'838:59:59') YEAR
YYYY(/) DATETIME YYYY-MM-DD HH:MM:SS(-- ::/-- :: Y) TIMESTAMP YYYYMMDD HHMMSS(-- ::/ 年某时)

三、表内容操作

1.增

 insert into 表名 (列名,列名...) values (值,值,值...);
insert into 表名 (列名,列名...) values (值,值) ,(值,值)...;

2.删

 delete from 表;
delete from 表 where id = and name ='yan';

3.改

 update 表 set name = 'yan' where id> or name = 'xxx';

4.查

 select * from 表;
select id,name from 表;
select id,name from 表 where id> or name = 'yan';
select id,name as cname from 表 where id> or name = 'yan';

其他语句:

 条件:
select * from 表where id > and name != ‘yan’ and num=;
select * from 表where id in (,,);
select * from 表where id not in (,,);
select * from 表where id in (select id from db1);
select * from 表where id between and ; 通配符
select * from 表名 where name like 'ya% ; -ya开头的所有(多个字符)
select * from 表名 where name like 'ya_'; -ya开头的所有(一个字符)
限制
select * from 表 limit5; -前5行
select * from 表 limit3,; -从三行到第5行
select * from 表 limit3 offset ; -从第4行到第5行
排序
select * from 表 order by 列 asc; -根据“列”从小到大排列
select * from 表 order by 列 besc; -根据“列”从大到小排列
select * from 表 order by id desc limit ; -先排序再找
select * from 表 order by 列表1 desc,列表2 asc;  - 根据 “列1” 从大到小排列,如 果相同则按列2从小到大排序
 连表
select * from 表1 left join 表2 on 表1.id = 表2.name;

5.查看表结构

 desc 表名;

6.查看表创建语句

 show create table 表名\G;

7.自增步长

 .基于会话级别
show session variaoles like 'auto_inc%'; 查看全局变量
set session auto_increment_increment=; 设置会话步长
.基于全局级别:
show global variables like 'auto_inc%'; 查看全局变量
set global auto_increment_increment=; 设置会话步长

MySQL数据库操作(一)的更多相关文章

  1. php : mysql数据库操作类演示

    设计目标: 1,该类一实例化,就可以自动连接上mysql数据库: 2,该类可以单独去设定要使用的连接编码(set names XXX) 3,该类可以单独去设定要使用的数据库(use XXX): 4,可 ...

  2. php MySQL数据库操作类源代码

    php MySQL数据库操作类源代码: <?php class MySQL{ private $host; //服务器地址 private $name; //登录账号 private $pwd; ...

  3. 设计模式 - 单例模式mysql数据库操作类

    待续... index.php 调用方法: <?php header('Content-Type:text/html; charset=utf8'); require 'instance.php ...

  4. MySQL数据库操作常用命令

    MySQL数据库操作常用命令DOS连接数据库1.安装MySQL配置好环境2.运行cmd命令net start mysql3.找到mysql文件根目录输入命令mysql -h localhost -u ...

  5. Python/MySQL(四、MySQL数据库操作)

    Python/MySQL(四.MySQL数据库操作) 一.数据库条件语句: case when id>9 then ture else false 二.三元运算: if(isnull(xx)0, ...

  6. Java通过JDBC 进行MySQL数据库操作

    转自: http://blog.csdn.net/tobetheender/article/details/52772157 Java通过JDBC 进行MySQL数据库操作 原创 2016年10月10 ...

  7. Mysql 数据库操作之DDL、DML、DQL语句操作

    Mysql 数据库操作之DDL.DML.DQL语句操作 设置数据库用户名密码 l  Show databases 查看数据库列表信息 l  查看数据库中的数据表信息 ,格式: use 数据库名: sh ...

  8. Python进行MySQL数据库操作

    最近开始玩Python,慢慢开始喜欢上它了,以前都是用shell来实现一些自动化或者监控的操作,现在用Python来实现,感觉更棒,Python是一门很强大的面向对象语言,所以作为一个运维DBA或者运 ...

  9. Python3:sqlalchemy对mysql数据库操作,非sql语句

    Python3:sqlalchemy对mysql数据库操作,非sql语句 # python3 # author lizm # datetime 2018-02-01 10:00:00 # -*- co ...

  10. (转载)常用的Mysql数据库操作语句大全

    打开CMD,进入数据库命令:mysql -hlocalhost -uroot -p 退出数据库:exit 用户管理: 1.新建用户: >CREATE USER name IDENTIFIED B ...

随机推荐

  1. HDUOJ--2121--Ice_cream’s world II【朱刘算法】不定根最小树形图

    链接:http://acm.hdu.edu.cn/showproblem.php? pid=2121 题意:n个顶点,m条边,求从某一点起建立有向图最小生成树而且花费最小.输出最小花费和根节点下标. ...

  2. [POI 2007] Zap

    [题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1101 [算法] 首先 , 问题可以转化为求GCD(x,y) = 1,x <= ...

  3. 特征选择--->卡方选择器

    特征选择(Feature Selection)指的是在特征向量中选择出那些“优秀”的特征,组成新的.更“精简”的特征向量的过程.它在高维数据分析中十分常用,可以剔除掉“冗余”和“无关”的特征,提升学习 ...

  4. E20171006-hm

    trace  vt. 跟踪,追踪; 追溯,探索; 探索; 查找;          vi. 沿着一小径或道路前进; 可以追溯的;            n. 痕迹; 痕迹,踪迹; 微量,极少量; [植 ...

  5. ORA-00907: 缺失右括号问题或com.alibaba.druid.sql.parser.ParserException: TODO :IDENTIFIER的原因

    以上只是说明错误的原因的一种.

  6. hibernate基础简单入门1---helloword

    1:目录结果 2:实体类(student.java) package com.www.entity; public class Student { private int id; private St ...

  7. [App Store Connect帮助]二、 添加、编辑和删除用户(5)创建一个沙盒测试员帐户

    如果您的 App 使用了 App 内购买项目或 Apple Pay,您可以在 App Store Connect 中创建沙盒测试员帐户,以便您向用户提供该 App 前,可以使用该帐户在测试环境中运行您 ...

  8. AcWing算法基础1.5

    前缀和与差分 两个内容都比较少,就放一起写了 设数组 a 的前 n 项为a1 , a2 , a3 ... an 前缀和数组就是每一项是a数组的前i项和,比如前缀和数组res,res[ 1 ] = a[ ...

  9. Mobile

    模块===包   传统开发:整个网页我们写了一个js文件,所有的特效都写在里面了. 缺点:耦合度太高,代码关联性太强,不便于后期维护,会造成全局污染. 发生的请求次数过多,依赖模糊,难于维护. 以上都 ...

  10. Vue 页面回退参数被当作字符串处理

    当时情景是这样的,我从A页面跳到B页面时会传一个Boolean类型的参数,当B跳到C,再从C返回B的时候,控制台打印发现参数还在,可是判断怎么都不起作用,后来发现,当页面返回的时候,默认将参数变成了字 ...