mysql数据库基本操作
下载地址 http://www.mysql.com/downloads/mysql/
端口号:3306 用户名:root 密码:自定义
连接到MySQL服务器 >mysql -uroot -proot [-h127.0.0.1]
断开连接 >exit 或者>quit
命令
显示MySQL中所有的数据库 > show databases;
切换到mydb数据库 > use mydb;
查看数据库中所有的表 > show tables;
查看表结构 > desc t_user;
查看数据库版本和时间 > select version(),now();
创建数据库 >create database mydb;
数据类型(整型)
| 数据类型 | 无符号范围 | 有符号范围 |
| TINYINT | 0~255 | -128~127 |
| SMALLINT | 0~65535 | -32768~32767 |
| MEDIUMINT | 0~16777215 | -8388608~8388607 |
| INT(Integer) | 0~4294967295 | -2147483648~2147483647 |
| BIGINT | 0~18446744073709551 615 | -9223372036854775808~9223372036854775807 |
数据类型(浮点型)
| 数据类型 | 无符号范围 | 有符号范围 |
| FLOAT | 0,(1.175 494 351 E-38,3.402 823 466 E+38) | -3.402 823 466 E+38,1.175 494 351 E-38),0,(1.175 494 351 E-38,3.402 823 466 351 E+38) |
| DOUBLE | (1.797 693 134 862 315 7 E+308,2.225 073 858 507 201 4 E-308),0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) | 0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) |
| DECIMAL(M,D) |
数据类型(字符型)
| 数据类型 | 大小 | 用途 |
| CHAR | 0-255字节 | 定长字符串 |
| VARCHAR | 0-255字节 | 变长字符串 |
| TINYTEXT | 0-255字节 | 短文本字符串 |
| TEXT | 0-65 535字节 | 长文本数据 |
| MEDIUMTEXT | 0-16 777 215字节 | 中等长度文本数据 |
| LONGTEXT | 0-4 294 967 295字节 | 极大文本数据 |
数据类型(日期时间型)
| 类型 | 范围 | 格式 |
| DATE | 1000-01-01~9999-12-31 | YYYY-MM-DD |
| TIME | -838:59:59~838:59:59 | HH:MM:SS |
| DATETIME | 1000-01-01 00:00:00~9999-12-31 23:59:59 | YYYY-MM-DD HH:MM:SS |
| TIMESTAMP | 1970-01-01 00:00:00~2037年 | YYYY-MM-DD HH:MM:SS |
创建表:
create table stu(
id int auto_increment,
stuname varchar(20) not null,
classid int not null,
primary key(id)
);
create table cls(
id int auto_increment,
clsname varchar(20) not null,
primary key(id)
);
添加数据:
insert into stu (stuname,classid)values('lyl',2),('fj',2);
insert into cls (clsname)values('java'),('c++');
主键 • 在设计表时总是要定义表的主键 • 表的主键设计策略 • 任意两行都不具备相同的主键值 • 每行都必须具有一个主键值(主键不允许Null列) • 主键和业务无关,不更改,不重用 • 主键可以是一个列或者是多个列的组合 • 使用PRIMARY KEY(XXX)来声明一个主键列 • 如果使用多个列作为主键则需要如下声明:PRIMARY KEY(XXX,XXX)
主键自动增长 AUTO_INCREMENT • 用来标示一个自动增长列 • 一个表中只允许有一个自动增长列 >create table t_student ( id int auto_increment, … );
删除表 > drop table t_student;
非null约束 stuname varchar(20) not null
默认约束 stuaddress varchar(100) default '郑州'
唯一约束 stuname varchar(20) not null unique
更改表
添加一列 >alter table t_student add tel char(20);
删除一列 >alter table t_student drop column tel;
添加唯一约束 >alter table t_student add constraint uk_username unique(usercode);
添加主键约束 >alter table t_user add constraint pk_t_user_id primary key t_user(id);
添加默认约束 >alter table t_user alter password set default '123456';
添加非null约束 >alter table t_teacher modify column uname varchar(20) not null;
重命名表 >rename table t_student to t_stu
导出数据库 >mysqldump -hlocalhost -uroot -proot mydb>C:/a.sql
批量导入SQL脚本 >source C:/a.sql
运算符
逻辑运算符 • = 等于 • <>,!= 不等于 • < 小于 • > 大于 • <= 小于等于 • >= 大于等于 • between 在指定的两个值之间
关系运算符 • and • or • not
update >update t_student set stuname = 'Alex',age = '26' [where id = 1];
where • where stuname = 'tom' • where stuname = 'tom' or stuname = 'alex' • where id > 1 and id < 3 • where id != 23 • where id = 12 or id = 34 • where id in (12,34) • where id between 12 and 34 • where password is null • where password is not null
delete >delete from t_student [where id = 1];
truncate >truncate table t_student; TRUNCATE TABLE用于删除表中的所有记录,但该语句不能包含WHERE语句,该操作运行速度比 DELETE语句快
创建外键 >alter table t_user add schoolid int; >alter table t_user add constraint fk_student_cus foreign key(schoolid) references t_school(id);
删除外键 > alter table t_user drop foreign key fk_student_cus
基本查询 查询所有的列 >SELECT * FROM vendors;
查询指定的列 >SELECT vend_id,vend_name,vend_address,vend_city FROM vendors;
如果查询时需要显示表中的所有列,尽量避免使用通配符(*),而要采用写出所有列名的方式进行查询, 因为采用通配符查询会降低程序的查询性能
mysql数据库基本操作的更多相关文章
- day39 mysql数据库基本操作
什么是数据库 用来存储数据的仓库 数据库可以在硬盘及内存中存储数据 主要学习硬盘中存储数据,因为内存中的数据总有一天会丢失 数据库与文件存储数据区别 (公司的开发是综合内容的) 数据库本质也是通过文件 ...
- (三)mysql数据库基本操作
(1)SQL语句:结构化查询语句 DDL语句 数据定义语言:数据库丶表丶视图丶索引丶存储过程丶函数丶create drop alter DML语句 数据库操作语言:插入数据insert,删除数据del ...
- mysql数据库基本操作sql语言
mysql的启动与关闭 启动 /etc/init.d/mysql start 多实例使用自建脚本启动 2种关闭数据库方法 mysqladmin -uroot -p密码 shutdown #优雅关闭/e ...
- Django/MySql数据库基本操作&ORM操作
数据库配置: #第一步在settings里面 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME':'dbna ...
- Mysql数据库基本操作 (一)
1.使用mysql数据库的必备要素 a. 安装MySQL服务端 b. 安装MySQL客户端 c. [客户端]连接[服务端] d. [客户端]发送命令给[服务端MySQL]服务的接受命令并执行相应操作( ...
- mysql数据库基本操作以及获取数据库强大帮助文档
MySQL数据库强大帮助文档 mysql 中help等价于\h或者? mysql> ? create database;(查看创建数据库的语法) mysql> ? drop databas ...
- MySQL数据库 基本操作语句
操作MySQL数据库 1.创建数据库 create database 数据库名: 2.查看数据库 show databases: 3.选择指定数据库 use 数据库名: 4.删除数据库 drop da ...
- MySQL数据库基本操作以及SQL语句
连接mysql的语法 mysql -u用户名 -p密码 [-h主机名] [-P端口号] 在一个mysql服务器中, 可以有多个mysql数据库(本质是一个文件夹) 在一个mysql数据库中, 可以有多 ...
- MySQL数据库基本操作(四)
在进行查询之前,我们要先建好关系表,并往数据表中插入些数据.为查询操作做好准备. 五张关系表的创建: #创建并进入数据库: mysql> CREATE DATABASE `info`; Quer ...
随机推荐
- tensorflow 学习日志
Windows安装anaconda 和 TensorFlow anaconda : https://zhuanlan.zhihu.com/p/25198543 anaconda 使用与说 ...
- python计算机基础-Day1
计算机基础-Day1 一.计算机基础 首先Python是一门编程语言 语言: 那什么是语言?语言就是一种事物与另一种事物沟通的介质. 所以说编程语言是程序员跟计算机沟通的介质,那么为什么要跟计算机沟通 ...
- kubernetes实践之运行aspnetcore webapi微服务
1.预备工作 unbuntu 16.04 and above docker kubernetes 集群 2.使用vs2017创建一个web api应用程序,并打包镜像到本地. 3.推送本地镜像到doc ...
- 需求分析---NABCD
N(Need,需求) 我们的产品未来天气,是为了解决不爱看天气预报的群众开发一款类似备忘录式的天气预报软件.很多人认为今天天气很好,明天肯定不会差,但是风云忽变,可能明天就降大雨,所以就忽略了带伞, ...
- Mycat 分片规则详解--数据迁移及节点扩容
使用的是 Mycat 提供的 dataMigrate 脚本进行对数据进行迁移和节点扩容,目前支持的 Mycat 是1.6 版本,由于 Mycat 是由 Java 编写的因此在做数据迁移及节点扩容时需要 ...
- GPS服务端(上)-Socket服务端(golang)
从第一次写GPS的服务端到现在,已经过去了八年时光.一直是用.net修修改改,从自己写的socket服务,到suppersocket,都是勉强在坚持着,没有真正的稳定过. 最近一段时间,服务端又出了两 ...
- python web开发-flask中sqlalchemy的使用
SqlAlchemy是一个python的ORM框架. 在flask中有一个flask-sqlalchemy的扩展,使用起来很方便. 1. 创建一个sqlalchemy的Model模块 创建 ...
- canvas填充样式
填充样式主要针对fillStyle.fillStyle除了可以赋值为color,还可以赋值渐变色,包括线性渐变色和径向渐变色,还是和css3里的内容类似. 一.线性渐变 1.设置线性渐变的填充样式 设 ...
- Mysql加密解密随机函数
MD5(str) md5加密 SELECT MD5('hello') 5d41402abc4b2a76b9719d911017c592 sha(str) sha加密 SELECT SHA('hello ...
- 【java并发系列】Fork/Join任务(转)
原文链接 当我们需要执行大量的小任务时,有经验的Java开发人员都会采用线程池来高效执行这些小任务.然而,有一种任务,例如,对超过1000万个元素的数组进行排序,这种任务本身可以并发执行,但如何拆解成 ...