mysq数据库相关操作
(一)常用SQL语句
1.SELECT USER() 得到登陆的用户
2.SELECT VERSION() 得到mysql的版本信息
3.SELECT NOW() 得到当前的时间
4.SELECT DATABASE() 得到打开的数据库名字
(二)数据库相关操作
1.创建数据库(名称不要包含特殊字符或者是MySQL关键字)
(1)CREATE {DATABASE|SCHEMA} db_name;
如:CREATE DATABASE dou
(2)CREATE {DATABASE|SCHEMA} db_name [IF NOT EXISTS ] db_name 检测数据库名称是否存在,不存在则创建
如:CREATE DATABASE IF NOT EXISTS dou;
(3)CREATE DATABASE [IF NOT EXISTS] db_name [DEFAULT] CHARACTER SET [=] charset; 在创建数据库的同时指定编码方式
如:CREATE DATABASE IF NOT EXISTS dou DEFAULT CHARACTER SET 'GBK';
2.查看当前服务器下全部数据库
SHOW DATABASES|SCHEMAS;(注意s)
3.查看指定数据库的详细信息
SHOW CREATE DATABASE dou;
4.修改指定数据库的编码方式
ALTER DATABASE dou DEFAULT CHARACTER SET 'UTF8';
5.打开指定数据库
USE dou
6.得到当前打开的数据库
SELECT DATABASE()|SCHEMA();(注意小括号)
7.删除指定数据库
DROP DATABASE dou;
DROP DATABASE IF EXIST dou;如果存在则删除
(三)数据表相关操作
1.创建表
CREATE TABLE [IF NOT EXISTS] tbl_name(
字段名称 字段类型 [完整性约束条件],
字段名称 字段类型 [完整性约束条件],
...
)ENGINE=存储引擎 CHARSET=编码方式;
如:
CREATE TABLE IF NOT EXISTS dou(
id INT PRIMARY KEY,
username VARCHAR(20),
password CHAR(32),
email VARCHAR(50),
age TINYINT,
card CHAR(18),
tel CHAR(11),
salary FLOAT(8,2),
married TINYINT(1),
addr VARCHAR(100),
sex ENUM('男','女','保密')
)ENGINE=INNODB CHARSET=UTF8;
完整性约束:
①UNSIGNED 无符号,没有负数,从0开始
②NOT NULL 非空约束,值不能为NULL,可以不填,不填即为空白
③DEFAULT 默认值 如果插入的时候没有给字段赋值则使用默认值
如:age TINYINT UNSIGNED DEFAULT 18
④PRIMARY KEY 主键,值不能重复,一个表只能有一个主键,字段不能为空;
但是一个表里可以有复合主键
如:
-- 复合主键
CREATE TABLE test_primary_key(
id INT UNSIGNED,
courseId VARCHAR(20),
username VARCHAR(20),
email VARCHAR(50),
PRIMARY KEY(id,courseId)
);
此时只有当id和courseid同时和前面的相同时,才会出错,如果仅有一个重复也是可以正常添加的
⑤AUTO_INCREMENT 自动增长,只能用于数值列,而且配合索引使用,默认初始值为1,每次增长1
如:
CREATE TABLE test_auto_increment(
id INT UNSIGNED KEY AUTO_INCREMENT,
username VARCHAR(20)
);
INSERT test_auto_increment(username) VALUES('A');
INSERT test_auto_increment(username) VALUES('B');
INSERT test_auto_increment(id,username) VALUES(NULL,'E');
INSERT test_auto_increment(id,username) VALUES(DEFAULT,'F');
INSERT test_auto_increment(id,username) VALUES(15,'G');
INSERT test_auto_increment(username) VALUES('C');
此时最后一次的id为16
⑥UNIQUE KEY 唯一性,同样的值不能重复,但是NUL除外
⑦ZEROFILL 零填充,当数据的显示长度不够的时候可以使用前补0的效果填充至指定长度,字段会自动添加UNSIGNED
如:
CREATE TABLE zero(
id INT(4) ZEROFILL
);
INSERT zero VALUES(1);
自动前面补零即 0001
⑧FOREIGN KEY 外键约束
2.查看当前数据库下已有数据表
SHOW TABLES;
3.查看指定数据表的详细信息
SHOW CREATE TABLE test_auto_increment
4.查看表结构
DESC|DESCRIBE test_auto_increment
SHOW COLUMNS FROM test_auto_increment
5.删除指定数据表
DROP TABLE [IF EXISTS] test_auto_increment
(四)表结构相关操作
①添加字段
ALTER TABLE tbl_name
ADD 字段名称 字段属性 [完整性约束条件] [FIRST|AFTER 字段名称]
如:
-- 添加邮箱字段 email VARCHAR(50) NOT NULL UNIQUE ,并将email添加到username后面
ALTER TABLE user1
ADD email VARCHAR(50) NOT NULL UNIQUE AFTER username;
②删除字段
-- 删除test字段
ALTER TABLE user1
DROP username;
③修改字段类型、字段属性
ALTER TABLE tbl_name
MODIFY 字段名称 字段类型 [字段属性] [FIRST | AFTER 字段名称]
如:
- 将email字段改为VARCHAR(50) NOT NULL FIRST
ALTER TABLE user1
MODIFY email VARCHAR(50) NOT NULL FIRST;
④修改字段名称、字段类型、字段属性
ALTER TABLE tbl_name
CHANGE 原字段名称 新字段名称 字段类型 字段属性 [FIRST | AFTER 字段名称]
如:
-- 将password 名称改为pwd
ALTER TABLE user1
CHANGE password pwd CHAR(40) NOT NULL;
⑤添加主键
ALTER TABLE tbl_name
ADD PRIMARY KEY(字段名称)
⑥添加唯一
ALTER TABLE tbl_name
ADD UNIQUE KEY(字段名称)
⑦删除唯一
ALTER TABLE tbl_name
DROP (字段名称)
⑧修改数据表名称
ALTER TABLE tbl_name
RENAME new_tbl_name
或者直接 RENAME TABLE tbl_name TO new_tbl_name
mysq数据库相关操作的更多相关文章
- Django数据库相关操作
首先,在settings.py中加入应用的名称,让数据库知道使用的是哪个应用,然后给那个应用创建表. 在settings.py中配置数据库相关参数,默认使用sqlite3不用配置 编辑models.p ...
- fastCMS数据库相关操作类
fastCMS针对数据库的操作有以下几个类: 1.[paging_Class]分页类 此类用于分页检索数据库内符合条件的记录 1) 支持百万级数据分页 2) 支持多种类型的SQL语法,比如 Left ...
- Django -查询数据库相关操作
一. 内置Admin 依赖APP: django.contrib.auth django.contrib.contenttypes django.contrib.messages django.con ...
- YII 数据库相关操作
CDbConnection: 一个抽象数据库连接CDbCommand: SQL statementCDbDataReader: 匹配结果集的一行记录CDbTransaction:数据库事务 访问数据库 ...
- MYSQL数据库相关操作---读书笔记分享
===================数据库软件: <DBMS,DataBase Management System >数据库: 保存特定类型数据的容器<DB,database> ...
- Dapper数据库相关操作
using System; using System.Data; using System.Configuration; using System.Data.SqlClient; namespace ...
- SQLite数据库相关操作
一.创建数据库 这里创建了note便签数据表,字段有noteId.noteTitle.noteTime.noteInfo ); // TODO Auto-generated constructor ...
- Python4_数据库相关操作
====================================================== 参考链接: PyCharm IDE 链接sqlite.建表.添加.查询数据:https:/ ...
- python访问Oracle数据库相关操作
环境: Python版本:3.6.6 win系统:64位 Linux系统:64位 首先安装配置时,版本必须一致!包括:系统版本,python版本,oracle客户端的版本,cx_Oracle的版本! ...
随机推荐
- Hadoop DataNode不能正常工作的原因
在把Hadoop环境搭建成功,并且也Hadoop的各个组件都正常工作.在重启过几次Hadoop后发现DataNode不能正常工作,打开Hadoop 的后台http://localhost:50030和 ...
- ubuntu安装qq教程
安装策略是wine+wine QQ TM2013,wine QQ TM2013是一款专门为wine进行优化的版本 我的ubuntu系统是14.04版本,64位 1. sudo apt-get inst ...
- Http的会话跟踪和跨站攻击(xss)
会话跟踪 什么是会话? 客户端打开与服务器的连接发出请求到服务器响应客户端请求的全过程称之为会话. 什么是会话跟踪? 会话跟踪指的是对同一个用户对服务器的连续的请求和接受响应的监视. 为什么需要会话跟 ...
- 为何我会喜欢封闭的apple?
原来本猫喜欢的手机是简单的塞班系统,nokia的E72i,超经典吧!就是最近都有把它充满电重新拿出来用的冲动呀.可惜无奈的是上面的应用太少呀!原来PC和笔记本装的是各种清一色的windows系统,从3 ...
- 解决IE7兼容H5新标签的方法
外部引入JS <script src="http://cdn.bootcss.com/html5shiv/r29/html5.min.js"></script&g ...
- Nginx实现文件的上传和下载
文件的上传只要保证特殊的地址先到达Nginx,然后通过Nginx指定至指定的服务器即可,目前配置是本机.文件的下载的做法就是把本机的当前目录下面的文件给返回回去. server { ; server_ ...
- CRM客户关系管理系统(十)
第十章.kingadmin+admin+actions功能开发 10.1. django admin的action 可以自己写个函数执行批量操作 crm/admin.py 后台admin actio ...
- 在Windows上安装Git
实话实说,Windows是最烂的开发平台,如果不是开发Windows游戏或者在IE里调试页面,一般不推荐用Windows.不过,既然已经上了微软的贼船,也是有办法安装Git的. Windows下要使用 ...
- C#高级编程笔记之第二章:核心C#
变量的初始化和作用域 C#的预定义数据类型 流控制 枚举 名称空间 预处理命令 C#编程的推荐规则和约定 变量的初始化和作用域 初始化 C#有两个方法可以一确保变量在使用前进行了初始化: 变量是字段, ...
- C# 插入、删除Excel分页符
引言 对Excel表格设置分页对我们预览.打印文档时是很方便的,特别是一些包含很多复杂数据的.不规则的表格,为保证打印时每一页的排版美观性或者数据的前后连接的完整性,此时的分页符就发挥了极大的作用.因 ...