【代码学习】MYSQL数据库的常见操作
==============================
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数据库的常见操作的更多相关文章
- 【代码总结】MYSQL数据库的常见操作
============================== MYSQL数据库的常见操作 ============================== 一.mysql的连接与关闭 -h:指定所连接的服 ...
- MySQL数据库的常见操作(七)
MySQL数据库的常见操作 1.创建数据库 2.创建重名的数据库以及如何查看警告信息 3.设置数据库的编码方式(默认为utf8) 4.修改和查看数据库的编码方式 5.删除数据库 6.6.删除已经删除了 ...
- Flask中Mysql数据库的常见操作
from flask import Flask,render_template #导入第三方链接库sql点金术 from flask_sqlalchemy import SQLAlchemy #建立对 ...
- MySQL数据库的常见操作
1.查看所有的数据库 1 show databases; 2.创建数据库 后面的时编码格式 1 create database dbName charset='utf8'; 3.使用/切换数据库 1 ...
- Vc数据库编程基础MySql数据库的常见库命令.跟表操作命令
Vc数据库编程基础MySql数据库的常见操作 一丶数据库常见的库操作 1.1查看全部数据库 命令: show databases 1.2 创建数据库 命令: Create database 数据库名 ...
- 重新学习MySQL数据库3:Mysql存储引擎与数据存储原理
重新学习Mysql数据库3:Mysql存储引擎与数据存储原理 数据库的定义 很多开发者在最开始时其实都对数据库有一个比较模糊的认识,觉得数据库就是一堆数据的集合,但是实际却比这复杂的多,数据库领域中有 ...
- 重新学习MySQL数据库1:无废话MySQL入门
重新学习Mysql数据库1:无废话MySQL入门 开始使用 我下面所有的SQL语句是基于MySQL 5.6+运行. MySQL 为关系型数据库(Relational Database Manageme ...
- 重新学习MySQL数据库2:『浅入浅出』MySQL 和 InnoDB
重新学习Mysql数据库2:『浅入浅出』MySQL 和 InnoDB 作为一名开发人员,在日常的工作中会难以避免地接触到数据库,无论是基于文件的 sqlite 还是工程上使用非常广泛的 MySQL.P ...
- 重新学习MySQL数据库11:以Java的视角来聊聊SQL注入
本文转自互联网 本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial ...
随机推荐
- 多个Activity交互的生命周期:
一.多个Activity交互的生命周期: A Activity打开B Activity的时候: A Activity B Activity ...
- VueJs学习路线
对于这个东西,我本人也是初学者,收集一些学习资源的链接,用于个人资源的学习,也分享给大家 lavyun的博客 里面有一些给初学者的建议,学习路线 http://www.cnblogs.com/smar ...
- NoSQL注入的分析和缓解
本文要点介绍: 1.了解针对NoSQL的新的安全漏洞 2.五类NoSQL攻击手段,比如重言式.联合查询.JavaScript 注入.背负式查询(Piggybacked queries),以及跨域违规 ...
- es6中的let声明变量与es5中的var声明变量的区别,局部变量与全局变量
自己通过看typescript官方文档里的let声明,与阮一峰老师翻译的的es6学习文档,总结以下三点 1.var声明可以多次重复声明同一个变量,let不行 2.let变量只在块级作用域里面有效果,v ...
- Appium手势密码滑动之Z字形走势(java篇)
1.直接使用负的偏移量appium会报错,在后面加上moveto(1,1)就行了 2.直接看图说话 废话少说看代码如: List<AndroidElement> element = dri ...
- h5 做app时和原生交互的小常识。
距离上次随笔或许有半年了吧,最近在用hybrid模式开发移动app,所以就简单的说说用h5技术开发app时候,做原生交互的几个小常识: 一.拨打电话或者发送短信: <a href="t ...
- web console实现
一.效果图 二.实现 web console是基于websocket实现的. 以上做的效果嵌入项目中,因为项目本身是angular1的项目,所以console整体封装成一个angualr modul ...
- 【C++】智能指针详解(一):智能指针的引入
智能指针是C++中一种利用RAII机制(后面解释),通过对象来管理指针的一种方式. 在C++中,动态开辟的内存需要我们自己去维护,在出函数作用域或程序异常退出之前,我们必须手动释放掉它,否则的话就会引 ...
- 如何将多条update语句合并为一条
需求: 如何将多条update语句合并为一条update语句:如,update table1 set col='2012' where id='2014001' update table1 ...
- Mesos+Zookeeper+Marathon+Docker分布式集群管理最佳实践
参考赵班长的unixhot以及马亮blog 笔者QQ:572891887 Linux架构交流群:471443208 1.1Mesos简介 Mesos是Apache下的开源分布式资源管理框架,它被称为分 ...