mysql代码学习_mysql学习

windows开启mysql服务

c:\Program Files\MySQL\MySQL Server 8.0\bin"\mysqld --install

数据库的基本语句:

创建账户:

create user 'zhangwei'@'192.168.1.%' identified by '123123';  #'%'的含义就是通配符

授权给账户:

grant all privileges on db1.* to 'zhangwei'@'%';

刷新权限:

flush privileges;

修改用户:

rename user '用户名'@'IP地址';'新用户名'@'新IP地址';

修改密码:

set password for '用户名'@'IP地址' = password('新密码')

删除用户:

drop user '用户名'@'IP地址';

查看用户权限:

show grantsfor '用户名'@'IP地址';

授权给用户:grant 权限 on 数据库.表 from '用户'@'IP地址';revoke 权限 on 数据库.表 from '用户'@'IP地址';

数据库操作流程:

show database; 查看所有的数据库usedb1; 选择数据库

show tables; 查看所有的表select user,passwd from user; 查看user表中的user和passwd列

mysql数据库建立表时指定引擎中的innodb和myisam的意义:

innodb

它提供了事务控制能力功能,它确保一组命令全部执行成功,或者当任何一个命令出现错误时所有命令的结果都被回退,

可以想像在 电子银行中事务控制能力是非常重要的。支持COMMIT、ROLLBACK和其他事务特性。 原子性操作

myisam

是一个定义明确且历经时间考验的数据表格管理方法,它在设计之时就考虑到数据库被查询的次数要远大于更新的次数。

因此,ISAM执行读取操作的速度很快,而且不占用大量的内存和存储资源。ISAM的两个主要不足之处在于,它不支持事务处理,

也不能够容错:如果你的硬盘崩溃了,那么数据文件就无法恢复了。如果你正在把ISAM用在关键任务应用程序里,那就必须经常

备份你所有的实时数据,通过其复制特性,MySQL能够支持这样的备份应用程序。

数据类型:

数字类型:intsigned,有符号:-2147483658 ~ 2147483647unsigned,无符号:0 ~ 4294967295

float浮点型,表示小数,不太精准,越长越不精准double浮点型,表示小数,不太精准,越长越不精准decimal浮点型,永远是精准的,内部底层按照字符串存储decimal(10,5)10表示总位数,后面表示小数点后面几位tinyintsigned,有符号:-128 ~ 127.

unsigned,无符号:0 ~ 255

bigint字符串类型:char(10) 如果字符没占满,用字符填充,查询比较快,最多255个字符

varchar(10) 如果字符没粘满,不会进行填充,节省空间,查询时速度没有char快,最多255个字符

text 可以超过255个字符,最多65535个字符(2**16-1)

mediumtext 最多16,777,215个字符(2**24-1)logtext 最多4,294,967,295个字符(2**32-1)

时间类型:

date YYYY-MM-DD

time HH:MM:SS

year YYYY

datatime YYYY-MM-DD HH:MM:SS

timestamp YYYYMMDD HHMMSS

#注,经验:

把定长的数据类型往前面放,不定长的往后面放

如果对于大文件,将文件路径放入到数据库,降低数据库压力

创建数据库》创建表》插入数据实例:

create dabase db1 default charset utf8; #创建数据库db1,默认字符编码utf8

use db1; #进入到db1数据库

create table t1(id int auto_increment primary key,name varchar(10)not null,passwd int(8) not null) engine=innodb default charset=utf8; #创建表t1,表头为id指定证书类型,自动递增为主键,name为10个字符,不允许为空,密码为8个整数类型不能为空

insert into t1(name,passwd) values('zhangsan',123); #表t1中的name和passwd插入数据

insert into t1(id,name,passwd) values(3,'lisi',123); #插入t1表中的数据按照key和values方式,所以如果没有自增的话必须按照此方式对应写入

#####注意#####

(auto_increment)表示自增

(primary key)表示约束,不能重复且不能为空;加速查找

(not null)表述数据不能为空

删除数据库和表操作:

drop database db1; #删除数据库db1

delete fromt1; #删除表的所有数据时,不会释放表所占用的空间,并且操作是可以撤销的。主键依然根据上次自增truncate table t1; #删除表的所有数据时,执行速度更快,而且还会释放表、段所占用的空间,并且操作是不能撤销的。

修改表中的数据

mysql> select * fromuser_info;+----+----------+--------+

| id | name | passwd |

+----+----------+--------+

| 1 | zhangwei | 111 |

+----+----------+--------+update 表明 set 修改内容 where 条件;

update user_info set passwd = '234' where id = 1;

update user_info set passwd = '456' where name = 'zhangwei'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值