==============================

MYSQL数据库的常见操作

==============================

一、mysql的连接与关闭

-h:指定所连接的服务器位置

-u:数据库的用户名

-p:数据库的密码

 mysql -u 用户名 -p  //连接数据库
密码
exit //关闭数据库
 mysql_connect($host,$user,$password);  //连接数据库
mysql_close() //关闭数据库

二、创建数据库

1、创建一个名为test1的数据库

mysql> create database if not exists test1;

2、显示所有数据库

 mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
| test1 |
+--------------------+
5 rows in set (0.00 sec)

3、使用名为test1的数据库

mysql> use test1;

4、删除一个名为test1的数据库

mysql> drop database if exists test1;

5、创建一个表

三、数据表内容的简单管理

1、添加数据 表记录

insert into 表名(字段名称,字段名称...) values(值1,值2...);

2、删除数据

delete from 表名 where id=1;

3、修改数据

update 表名 set 字段名称=新值,字段名称=新值... where id=1;

4、查看数据

select 字段名称,字段名称... from 表名;

5、创建表

 create table 表名(
id int,
username varchar(30),
age int
);

四、数据值和列的类型

1、数值

 int
tinyint
字段属性:
无符号的数 unsigned 增大存储范围
int(n) (n)默认情况下没有任何意义 不会影响存储范围
zerofill属性 0填充 3 001 012 123 1234
小数
float(n,m)
float(6,2); n共几位 2小数点后保留几位
decimal(6,2);

2、字符

 char(n) 固定长度  n 0-255 密码 char(32)
varchar(n) 可变长度 用户名 n 0-65535 varchar(20)

3、时间和日期  int

4、NULL

五、创建索引

1、主键索引 primary key

  一个数据表只能指定一个主键,而且主键的值不能为空

  声明一个整形的字段cid,设置其属性为NOT NULL和AUTO_INCRENENT,并在字段后使用PRIMARY KEY设置该字段为主键索引。在创建book1时,声明的字段bid也设置相同的属性,而且使用另一种从句的方式将其设置为主键索引。并在book1表中声明一个cid的字段,用于保存book0表中的设置为主键的cid

 mysql> create table book0 (
-> cid INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> bookname VARCHAR(15) NOT NULL
-> );
Query OK, 0 rows affected (0.14 sec) mysql> create table book1 (
-> bid int(10) NOT NULL AUTO_INCREMENT,
-> cid MEDIUMINT(8) NOT NULL,
-> detail TEXT NOT NULL,
-> price DOUBLE NOT NULL,
-> PRIMARY KEY (bid)
-> );
Query OK, 0 rows affected (0.11 sec)

注意:防止数据不一致,在删除一条记录之前,必须检查在其他数据表里是否存在对这条记录的引用

2、唯一索引 UNIQUE

  避免数据重复出现

  在创建表book2时,为类别名字段bookname使用关键字UNIQUE将其定义为一个唯一索引,避免插入数据时出现重复的类别名称

 mysql> create table book2 (
-> cid INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> bookname VARCHAR(15) NOT NULL UNIQUE
-> );
Query OK, 0 rows affected (0.08 sec

3、普通索引 INDEX

  仅提高查询的速度

CREATE INDEX ind ON book3(uid,cid); #为book2表的两个列创建名为ind的索引

4、全文索引

  mysql只支持英文文本

【代码学习】MYSQL数据库的常见操作的更多相关文章

  1. 【代码总结】MYSQL数据库的常见操作

    ============================== MYSQL数据库的常见操作 ============================== 一.mysql的连接与关闭 -h:指定所连接的服 ...

  2. MySQL数据库的常见操作(七)

    MySQL数据库的常见操作 1.创建数据库 2.创建重名的数据库以及如何查看警告信息 3.设置数据库的编码方式(默认为utf8) 4.修改和查看数据库的编码方式 5.删除数据库 6.6.删除已经删除了 ...

  3. Flask中Mysql数据库的常见操作

    from flask import Flask,render_template #导入第三方链接库sql点金术 from flask_sqlalchemy import SQLAlchemy #建立对 ...

  4. MySQL数据库的常见操作

    1.查看所有的数据库 1 show databases; 2.创建数据库  后面的时编码格式 1 create database dbName charset='utf8'; 3.使用/切换数据库 1 ...

  5. Vc数据库编程基础MySql数据库的常见库命令.跟表操作命令

    Vc数据库编程基础MySql数据库的常见操作 一丶数据库常见的库操作 1.1查看全部数据库 命令:  show databases 1.2 创建数据库 命令: Create database 数据库名 ...

  6. 重新学习MySQL数据库3:Mysql存储引擎与数据存储原理

    重新学习Mysql数据库3:Mysql存储引擎与数据存储原理 数据库的定义 很多开发者在最开始时其实都对数据库有一个比较模糊的认识,觉得数据库就是一堆数据的集合,但是实际却比这复杂的多,数据库领域中有 ...

  7. 重新学习MySQL数据库1:无废话MySQL入门

    重新学习Mysql数据库1:无废话MySQL入门 开始使用 我下面所有的SQL语句是基于MySQL 5.6+运行. MySQL 为关系型数据库(Relational Database Manageme ...

  8. 重新学习MySQL数据库2:『浅入浅出』MySQL 和 InnoDB

    重新学习Mysql数据库2:『浅入浅出』MySQL 和 InnoDB 作为一名开发人员,在日常的工作中会难以避免地接触到数据库,无论是基于文件的 sqlite 还是工程上使用非常广泛的 MySQL.P ...

  9. 重新学习MySQL数据库11:以Java的视角来聊聊SQL注入

    本文转自互联网 本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial ...

随机推荐

  1. 多个Activity交互的生命周期:

    一.多个Activity交互的生命周期: A Activity打开B Activity的时候:        A Activity                    B Activity     ...

  2. VueJs学习路线

    对于这个东西,我本人也是初学者,收集一些学习资源的链接,用于个人资源的学习,也分享给大家 lavyun的博客 里面有一些给初学者的建议,学习路线 http://www.cnblogs.com/smar ...

  3. NoSQL注入的分析和缓解

    本文要点介绍: 1.了解针对NoSQL的新的安全漏洞 2.五类NoSQL攻击手段,比如重言式.联合查询.JavaScript 注入.背负式查询(Piggybacked queries),以及跨域违规 ...

  4. es6中的let声明变量与es5中的var声明变量的区别,局部变量与全局变量

    自己通过看typescript官方文档里的let声明,与阮一峰老师翻译的的es6学习文档,总结以下三点 1.var声明可以多次重复声明同一个变量,let不行 2.let变量只在块级作用域里面有效果,v ...

  5. Appium手势密码滑动之Z字形走势(java篇)

    1.直接使用负的偏移量appium会报错,在后面加上moveto(1,1)就行了 2.直接看图说话 废话少说看代码如: List<AndroidElement> element = dri ...

  6. h5 做app时和原生交互的小常识。

    距离上次随笔或许有半年了吧,最近在用hybrid模式开发移动app,所以就简单的说说用h5技术开发app时候,做原生交互的几个小常识: 一.拨打电话或者发送短信: <a href="t ...

  7. web console实现

    一.效果图 二.实现 web console是基于websocket实现的. 以上做的效果嵌入项目中,因为项目本身是angular1的项目,所以console整体封装成一个angualr  modul ...

  8. 【C++】智能指针详解(一):智能指针的引入

    智能指针是C++中一种利用RAII机制(后面解释),通过对象来管理指针的一种方式. 在C++中,动态开辟的内存需要我们自己去维护,在出函数作用域或程序异常退出之前,我们必须手动释放掉它,否则的话就会引 ...

  9. 如何将多条update语句合并为一条

    需求: 如何将多条update语句合并为一条update语句:如,update table1 set col='2012' where id='2014001'      update table1  ...

  10. Mesos+Zookeeper+Marathon+Docker分布式集群管理最佳实践

    参考赵班长的unixhot以及马亮blog 笔者QQ:572891887 Linux架构交流群:471443208 1.1Mesos简介 Mesos是Apache下的开源分布式资源管理框架,它被称为分 ...