MySql数据库的一些基本操作---------------SQL语法
MySql数据库是比较常用的关系型数据库,操作用的是sql语句,下面来说一说MySql的一些基本操作
MySql数据库是一种C/S型的模式,即客户端/服务器端,对应到具体应用上,便是bin目录下的mysql.exe和mysqld.exe,mysql是客户端,mysqld是服务器端。
所以先要启动mysqld.exe服务,然后用mysql.exe登陆。
1.mysql登陆
打开cmd命令窗口,输入登陆命令:
mysql -h主机ip/域名 -P端口 -u用户名 -p密码
在本地登陆的话,一般命令是:mysql [-hlocalhost -P3306] -u用户名 -p密码 [表示可以没有]
一般-p后面不直接加密码,而是直接-p就可以了,下一步就会提示输入密码,是以密文的方式。
2.数据库
1.创建数据库:create database 数据库名字 [数据库选项] []表示可选
例子:create database person charset=utf8; (要以分号结束) //创建一个person数据库,使用字符集utf8
create database person //创建一个person数据库,字符集是默认的
2.查看所有数据库:show databases;
3.查看部分数据库:show databases like '匹配模式' // ('_'表示任意单个字符,’%‘表示任意多个字符,其实就是占位符)
例子:show databases like 'f_le'; //可以匹配的数据库可以是file fole fple fyle......
show databases lke '%s'; //匹配以s结尾的数据库,可以是sys,files,words.....
4.删除数据库:drop 数据库名字;
2.表操作
在进行表操作时,要先选择要操作的数据库,语法: use 要使用的数据库名字;
1.创建表:create table 表名 (字段名 字段类型)
例子:create table student (id int,name varchar(4),age int);//创建一个student表
2.查看所有表:show tables; //查看所有表
show tables like 匹配模式 //查看部分表,与查看数据库一样
3.查看表结构:desc 表名;
4.表字段操作:alter table 表名 add column 新字段 字段类型; //新增一个字段
alter table 表名 change 旧字段名 新字段名 旧字段属性; //改变字段名字
alter table 表名 modify 字段名 新类型; //修改字段的类型
alter table 表名 drop 字段名; //删除字段
5.表重命名:rename table 旧表名 to 新表名;
6.删除表: drop table 表1,表2,....;
3.表内容操作
1.查看表内容:select * from 表名;// “*” 是通配符,表示所有。查看表所有的内容
select (字段名1,字段名2...) from 表名; //查看对应字段的内容
select (字段列表) from 表名 where 条件; //条件查询,内容比较多,以后再说.
例子:select * from student where age=18; /查询所有年龄为18的学生的数据
2.插入:insert into 表名 [字段列表](没写的话,默认在全部字段插入数据) values (),(),(),().....;
例子:insert into student (name,age) values ('张三',18),('李四',20);
3.删除:delete from 表名 where 条件; //如果没写条件的话会把所有数据都删除了(慎用)
例子:delete from student where age=18; //删除所有年龄为18的学生的数据
4.更新(修改):update 表名 set 字段名 = 新的值 where 条件; //不写条件默认全部修改
4.字段类型
1.整型
tinyint //1个字节大小
smallint //2个字节大小
mediumint //3个字节大小
int //四个字节大小
bigint //8个字节大小
2.浮点型
float // 4字节 精确度7位,超过会四舍五入
double //8字节大小 精确度15位,超过会四舍五入
decimal //定点型小数,精确度高
3.字符串类型
char(L) //定长字符 L表示存放的字符个数 (0-255) //定长的意思是无论装入多少个字符,空间都按定义时分配
varchar(L) //变长字符 0-65535 会根据实际存放的字符进行分配空间
text(n) //文本类型,n表示字节数,一般存放字符数超过255都应该用问文本类型
bolb //存放二进制文件的
4.日期时间类型
date //日期, 3字节大小,格式为 yyyy-mm-dd 从 1000-01-01 到 9999-12-12
time // 时间,3字节大小,格式 hh:ii:ss 从 -839:59:59 到 838:59:59
datetime //日期时间,8字节大小 格式 yyyy-mm-dd hh:ii:ss
timestamp //时间戳,会自动更新 格式 yyyy-mm-dd hh:ii:ss
year //年 1900-2155 有两种插入方式 自行百度。
5.enum(枚举)
enum('男’,‘女') //只能取其中之一的值,和C语言的枚举差不多,都是用一个整型数据代表
//比如 ’男' 是1,‘女'是2 在插入数据时可以用1代表男,2代表女
-------------
其实sql语句还有很多用法,需要自己多练,多查,这里只是列举一些常用的基础用法。
MySql还用很多其它高级用法,以及一些基础知识,下一篇再说。
MySql数据库的一些基本操作---------------SQL语法的更多相关文章
- mysql数据库表的基本操作sql语句总结
1,命令行登录命令 mysql -h localhost -u root -p C:\Users\lenovo>mysql -u root -p Enter password: ***** We ...
- mysql用户授权、数据库权限管理、sql语法详解
mysql用户授权.数据库权限管理.sql语法详解 —— NiceCui 某个数据库所有的权限 ALL 后面+ PRIVILEGES SQL 某个数据库 特定的权限SQL mysql 授权语法 SQL ...
- Python3:sqlalchemy对mysql数据库操作,非sql语句
Python3:sqlalchemy对mysql数据库操作,非sql语句 # python3 # author lizm # datetime 2018-02-01 10:00:00 # -*- co ...
- 面向对语法读取mysql数据库数据例:$db->query($sql)、$result->fetch_array()
前面我们介绍过如何使用面向对象语法连接mysql数据库,今天技术人员继续讲解如何读取数据.虽然与以前面向过程类似,但还是有些不同,需要大家用心了解. echo '面向对象语法连接数据库test db ...
- MySQL数据库 介绍,安装,基本操作
- 数据库介绍: 1.随意存放在一个文件中的数据,数据的格式千差万别 tank|123 jason:123 sean~123 2.软件开发目录规范 - Project: - conf - bin - ...
- MySql数据库基本介绍和基本语法
一.数据库简单介绍 1. 按照数据库的发展时间顺序,主要出现了以下类型数据库系统: Ø 网状型数据库 Ø 层次型数据库 Ø 关系型数据库 Ø 面向对象数据库 上面4中数据库系统中,关系型数据库使用最为 ...
- MySQL数据库(六)-- SQL注入攻击、视图、事物、存储过程、流程控制
一.SQL注入攻击 1.什么是SQL注入攻击 一些了解sql语法的用户,可以输入一些关键字 或合法sql,来导致原始的sql逻辑发生变化,从而跳过登录验证 或者 删除数据库 import pymysq ...
- MySQL数据库(六) —— SQL注入攻击、视图、事物、存储过程、流程控制
SQL注入攻击.视图.事物.存储过程.流程控制 一.SQL注入攻击 1.什么是SQL注入攻击 import pymysql conn = pymysql.Connect( user="roo ...
- MySQL数据库的一些基本操作及注释
--Created by mac on 2017/1/4. -- MySQL数据库 -- ****************** 一. 连接数据库服务器的基础命令 ******************* ...
随机推荐
- 用HttpCombiner来减少js和css的请问次数
HttpCombiner也不记得是谁写的了,功能是把多个js文件或css文件合并到一块,压缩一下一起发给客户端来优化网站. 用法是这样的: <script type="text/jav ...
- Android+Jquery Mobile学习系列(6)-个人信息设置
本节开始,进行代码的实战练习.我的这个App是管理保险客户信息的,数据采用Sqlite存储在本地手机上,第一次使用需要先登记自己的个人信息,这个功能非常简单,也无关紧要,我是拿这个练手,方便做后面复杂 ...
- hdu 2586(Tarjan 离线算法)
How far away ? Time Limi ...
- 99.ext afteredit事件详解
转自:http://www.jcodecraeer.com/a/jquery_js_ajaxjishu/2012/0524/203.html 1 摘要 grid.on(afteredit,afterE ...
- Intervals(差分约束系统)
http://poj.org/problem?id=1201 题意:给定n个整数闭区间[a,b]和n个整数c,求一个最小的整数集合Z,满足Z里边的数中范围在闭区间[a,b]的个数不小于c个. 思路:根 ...
- 基于Angular4+ server render(服务端渲染)开发教程
目标: 1.更好的 SEO,方便搜索爬虫抓取页面内容 2.更快的内容到达时间(time-to-content) 影响: 1.用户:比原来更快的看到渲染的页面,提升用户体验 2.开发人员:某些代码可能需 ...
- sql学习--insert
insert的四种插入方式 第一种最简单的 into 和目标列的列表是可选的 intsert [into] tableA [(col1,col2)] values(val1,val2) 第二种 ins ...
- JS排序之快速排序
JS排序之快速排序 一个数组中的数据,选择索引为(2/数组长度)的那个数据作为基数,数组中的其他数据与它对比,比它数值小的放在做数组,比它数值大的放在右数组,最后组合 左数组+基数+右数组,其中,左数 ...
- 我和CSDN的那些事
作者:朱金灿 来源:http://blog.csdn.net/clever101 前些日子收到这样一个邀请: CSDN的工作人员还来电给我确认是否能参加.开始我有点犹豫,毕竟是在工作日的晚上,毕竟离我 ...
- intellij 创建java web项目(maven管理的SSH)
intellij 创建java web项目(maven管理的SSH) 环境intellij IDEA14.MAVEN.Spring.Struts2.Hibernate.Java Web.工程搭建. 1 ...