玩转mysql(入门级练习)
来源:互联网 发布:vue weixin js sdk 编辑:程序博客网 时间:2024/05/20 19:18
励志做一个开心滴程序猿。
mysql练习:
1.mysql安装成功后的进入方式
方式1:点击开始-》所有程序=》mysql=》mysql server5.0-->Mysql Command Line Client 点击提示Enter password :root回车
即可进入Mysql操作界面。
---------------------
show databases;//显示所有的数据库
use test;//选择并使用test数据库
show tables;//显示test库中所有表
exit 退出
---------------------
方式2:开始-windows+R ->cmd回车
cd\进入c盘根目录
cd切换到:
C:\Program Files\Mysql\mysql Server 5.0\bin>
在此目录中采用
mysql -u root -p(mysql -u 用户名 -p 密码 是连接数据库服务器的命令。要求你输入自己连接数据库的用户名和密码。考虑密码如果直接明文写在这条命令行上,有些不方便(怕被别人看到),可以像你写的那样,只输入:mysql -u 用户名 -p 然后回车,此时提示你输入密码,这时候输入的密码就不再是明文的了。)
mysql -h 127.0.0.1 -u root -p root
回车
提示Enter password :root回车
即可进入Mysql的操作界面;
show databases;//显示所有数据库
use test ;//使用test数据库
show tables;//显示test库中的表
exit退出
---------------------
第三种方式:
开始--运行输入cmd回车
cd\进入c盘根目录
cd切换到:c:/Program Files\Mysql\mysqlServer 5.0\bin>
在此目录中采用mysql -u root -p 数据库名称
mysql -h 127.0.0.1 -u root -p root 数据库名称
回车
2.设置密码:
当用户没有设置密码的时候:
mysqladmin -uroot -password ab12
注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。
当用户存在密码时:
修改密码:
cd\进入c盘根目录
cd切换到:
C:\Program Files\Mysql\mysql Server 5.0\bin>
采用命令:
mysqladmin -uroot -proot password 123
回车后密码更新为123;
------------------------------------------------------------------------------------
3.新增用户:
(和上面不同,下面的因为是mysql环境中的命令,所以后面带一个分号作为命令结束符)
格式:grant select on 数据库.*to用户名@登录主机 identified by "密码"
第一种:
增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询,插入,修改,删除的权限
首先用以root用户连入MYSQL ,然后键入一下命令:
grant select ,insert updata ,delete on *.*to test1@"%" Identified by "abc"
但是增加用户是一个危险的事,你想如某个人知道test1的密码,那么他就可以在internet上的任何一台电脑上登录你的mysql数据库并对你的数据库可以为所欲为
解决方法:1.增加一个test2的密码为abc 让他只可以在localhost上登录,并可以对数据库mydb进行查询,插入,修改,删除的操作(localhost指本地主机,即mysql的数据库所在的那台主机),这样用户即使知道test2的密码,也无法从Internet上直接访问数据
mysql->grant select ,insert,updata,delete on book.*to test2@localhost Identified by "abc";
如果你不想test2有密码,可以再打一个命令把密码删掉
mysql->grant select ,insert,update ,delete on book.*to test2@localhost Identified by"";
下面来看看mysql中有关数据库方面的操作。注意:必须首先登陆到MYSQL 中,一下操作都是在mysql的提示符下进行的,而且每一个命令以分号结束。
desc admin;//显示表的结构,字段,字段类型 字段是否为null 是否是主键 额外信息等。
create database 数据库名字;//创建数据库
show database;//查看创建数据库是否成功,显示所有数据库的名
use 数据库的名;//使用此数据库
show tables;// 查看此数据库中的所有表的名称
--------------------------------------------
4.表的概念
数据库中包含一个或多个表;
表:是行和列组成的,行称为记录,是组织数据的单位;
列被称为字段,每一个列表示记录的一个属性。
注意事项:
在特定的表中,列的名称必须是唯一的,但相同列名可以在数据库中不用的表中使用
在表中的行与列的次序是任意的
表:是数据的集合,是用存储数据和操作数据的逻辑结构。
案例:
学生信息表 =====》类
学号 姓名 性别班级编号 籍贯年龄 ===>学号 姓名 性别 班级编号 籍贯 年龄
0101 MM 09 BJ 20 =》类的一个示例|对象 都对数据库中一条记录
5.数据类型
字段的数据类型:
MYsql 中提供了三种数据类型
1:数值
2:字符串
3:日期
数值:tinyint 非常小的整数 -128 -127 1个字节
smallint 较小的数 -2的15次方--2的15次方减去1 2个字节
mediumint中等大小的整数 -2的23次方- -2 的23次方减去1 3个字节
int 标准整数 -2的31次方-2的31次方减去1 4个
big int 大整数-2的63次方 -2的63次方-1 8个
float 4个字节
double 8个字节
字符型:
char CHAR列的长度固定为创建表的声明的长度,长度可以从0到255之间
varchar 列中的值可以变长字符串,长度可指定到0到65,535之间
binary
blod:最大限制到65k字符
·mediumblob:限制到16M字节
·longblob:可达4GB
在每个MySQL的文档(从MySQL4.0开始)的介绍中,一个longblob列的最大允许长度依赖于在客户/服务器协议中可配置的最大包的大小和可用内存数。
你可能对在BLOB中存储大型文件非常谨慎,但是请放心使用,MYSQL提供了这样的灵活性!最大包的大小可容易地中的在配置文件中设置。例如:
一,Windows通过文件my.ini (在系统盘)
[mysqld]
set-variable = max_allowed_packet=10M
二,linux通过etc/my.cnf
[mysqld]
max_allowed_packet = 16M
你能指定几乎任何你需要的大小。默认是1M。
TEXT: 有四种text类型:tintyext. text mediumtext longtext
这些对应4种blob类型,有相同的最大长度和存储需求
set成员的set 列值时各成员之间用逗号(‘,’)间隔开
enum是一个字符串对象,其值来自表创建时在列规定中显示枚举的一列值
在某些情况下,ENUM值也可以为空字符串('')或NULL:
· 如果你将一个非法值插入ENUM(也就是说,允许的值列之外的字符串),将插入空字符串以作为特殊错误值。该字符串与“普通”空字符串不同,该字符串有数值值0。后面有详细讨论。
· 如果将ENUM列声明为允许NULL,NULL值则为该列的一个有效值,并且 默认值为NULL。如果ENUM列被声明为NOT NULL,其默认值为允许的值列的第1个元素。
每个枚举值有一个索引:
· 来自列规定的允许的值列中的值从1开始编号。
· 空字符串错误值的索引值是0。这说明你可以使用下面的SELECT语句来找出分配了非法ENUM值的行:
日期类型:
DateTime YYYY-MM-DD HH:MM:SS 从1000-01-01 00:00:00 到9999-12-31 23:59:49
date YYYY-MM-DD 从1000-12-31 至 9999-12-31
timestamp YYYYMMDDHHMMSS
time HH:MM:SS
year YYYY
//通过mysql.chm3教程中的3.3.2创建表pet7。创建表:
需要考虑:表包含哪些内容。 列===> 行 记录
宠物表 pet 包含字段 列-->列的名称 列的数据类型 列的长度 列是否为空 列是否为主键 是否使用约束
宠物的名称:name varchar 20 null
宠物的主人:owner varchar 20 null
宠物的性别:sex char 1
宠物的种类:species varchar 20
宠物的出生日期:birth date
宠物的死亡日期:death date
创建数据库
create databases aijava;show databases;
use aijava;
----------------create table 表名(
字段名称数据类型 约束条件,
字段名数据类型 约束条件,
字段名数据类型 约束条件
);
创建pet表命令如下
mysql-》create table pet
->(
name varchar(20),
owner varchar(20),
species varchar(20),
sex char(1),
birth date,
death date
->);
Query OK, 0 rows affected (0.08 sec)
show tables;//查看表是否创建成功
desc pet;//查看表结构
select*from pet ;//查看表中的所有数据
DML语句insert
语句形式:insert into table_name(column_name[,...n] values(val1,val2,...n));
字符串类型”引起了date“
//插入数据到宠物表
//插入一条完整记录
mysql>insert into pet(name,owner,species,sex,birth,death)
->values('Claws','cat','m','1994-03-17',null);
//插入一条完整记录
mysql>insert into pet values('Buffy','Harold','dog','f','1989-05-13',null);
//插入一条记录中部分字段数据
mysql>insert into pet (name ,owner,species,sex,birth)
->values('Fluffy','Harold','cat','f','1993-02-04');
mysql>insert into pet(name ,owner)values('benben','redarmy');
//插入记录时观察日期的格式类型
mysql> insert into pet values('fang','benny','dog','m','19900827',null);
mysql> insert into pet values('Bowser','Diane','dog','m','1979.08.31','1995/07/29');
Date日期类型插入可以按照 'YYYY-MM-DD'或'YY-MM-DD'格式的字符串。这里也允许使用“不严格的”语法。例如,'98-12-31'、'98.12.31'、'98/12/31'和'98@12@31'是等价的。
DateTime日期类型插入可以按照:'YYYY-MM-DD HH:MM:SS'或'YY-MM-DD HH:MM:SS'格式的字符串。允许“不严格”语法:任何标点符都可以用做日期部分或时间部分之间的间割符。例如,'98-12-31 11:30:45'、'98.12.31 11+30+45'、'98/12/31 11*30*45'和'98@12@31 11^30^45'是等价的批量插入:
mysql>insert into pet
->values('Chirpy','Gwen','bird','f','1998-09-11',null),
->('Whistler','Gwen','bird',' ','1997-12-09',null);
SQL:
sql被称为结构化查询语言(Stuctured Query Language)是操作和检索关系型数据库的标准语言
sql分类:
数据定义语言(DDL),例如CREATE.DROP .ALTER等语句。DATA Definition Language
它最基础的SQL 它用来创建数据库 修改 或者删除数据库中的各种对象。
数据查询语言,例如:select
数据操作语言,例如:insert update delete
数据控制语言,例如:grant revoke commitrollback
主要用来执行有关安全管理的操作。
sql语言包括三种主要程序设计语言类型的语句:数据定义言语,数据库操作言语,数据库控制言语
- 玩转mysql(入门级练习)
- MQTT入门(玩)
- 玩转Mysql命令行
- Mysql基础入门的练习(大师兄贡献)
- 开始玩Struts -入门级
- 玩转mysql源码安装
- MySQL数据库入门练习100句
- MySQL数据库入门练习200句
- MySQL数据库入门练习100句
- MySQL数据库入门练习200句
- CCCC练习 5-11玩转二叉树
- linux入门练习(一)
- 蓝桥杯练习系统(入门)
- r入门练习(一)
- r入门练习(二)
- r入门练习(三)
- PHP玩转MySQL之外键约束
- 玩转MySQL之mysql_config_editor工具
- linux搭建的web网站登录超时
- 普林斯顿大学算法第一部分学习总结(Week4-Priority Queue)
- 关于java中getInstance()方法
- 常见的排序算法
- 欢迎使用CSDN-markdown编辑器
- 玩转mysql(入门级练习)
- 类目category 扩展extension 协议protocol
- Mina框架的简单例子
- Zend Studio中SVN的使用
- usaco.section1.4 && 1.5(2015.11.12)
- Java学习笔记(十一)多线程
- 数据结构和算法C语言实现:链表的实现(基于动态内存分配)
- CLRS第十五章思考题5-8
- swift 快速奔跑的兔几 本节的内容是:SceneKit COLLADA文件