破解密码

#1、关闭mysql
net stop mysql
mysql还在运行时需要输入命令关闭,也可以手动去服务关闭

#2、重新启动
mysqld --skip-grant-tables
跳过权限

#3
mysql -uroot -p 直接登陆

update mysql.user set password=password("egon123") where user="root" and host="localhost";
flush privileges;涉及到权限就要刷一下

修改密码(已经有密码的情况)
mysqladmin -uroot -p"123" password "456"

#4、关闭mysql,正常启动
net start mysql

数据库,表,记录的增删改查

文件夹:库

create database db1 charset utf8;


drop database db1;

alter database db1 charset gbk;

show databases;
show create database db1;

create table t1(id int,name char);
create table db1.t1(id int,name char);

切换文件夹
use db1;
select database(); 查看当前所在的库


create table t1(id int,name char);
create table db1.t1(id int,name char);


drop table t1;

alter table t1 add age int;
alter table t1 modify name char(15);
alter table t1 change name NAME char(15);
alter table t1 drop age;


show tables;
show create table t1;
desc t1;

文件内的一行行内容:记录

insert into t1(id,name) values
(1,'egon'),
(2,'lxx'),
(3,'alex');


delete from db1.t1 where id >= 2;

create table t2(id int primary key auto_increment,name char(15));
insert into t2(name) values
('egon'),
('lxx'),
('wxx'),
('axx');

清空表应该使用:
truncate t2;
不能使用delete清空表,delete是用来删除部分内容时用的。delete清空表往里添加内容id会从删除前的位置继续,truncate不会出现这种情况。

update db1.t1 set name='lxx_dsb' where id=2;

select id from db1.t1;
select id,name from t1;
select name,id from t1;
select * from t1;
select * from t1 where id >= 2;

一、创建表的完整语法
#语法:
create table 库名.表名(
字段名1 类型[(宽度) 约束条件],
字段名2 类型[(宽度) 约束条件],
字段名3 类型[(宽度) 约束条件]
);
约束条件:是在数据类型之外对字段附加的额外的限制

#注意:
1、最后一个字段之后不能加逗号
2. 在同一张表中,字段名是不能相同
3. 宽度和约束条件可选,字段名和类型是必须的

二、数据类型
#1、整型:默认是有符号的
create table t3(x tinyint);

ps:修改sql_mode为严格模式,必须重启客户端才能生效
set global sql_mode="strict_trans_tables";

查看是否为严格模式
select @@sql_mode;

create table t4(x tinyint unsigned); unsigned变为无符号,范围为0-255,原来是-128-127

# 强调:整型类型后面的宽度限制的根本不是存储宽度,限制的是显示宽度
create table t5(id int(1));
create table t6(id int(5));

#2、浮点型:
float(255,30)
double(255,30)
decimal(65,30)

create table t8(x float(255,30));
create table t9(x double(255,30));
create table t10(x decimal(65,30));

insert into t8 values(1.111111111111111111111111111111);
insert into t9 values(1.111111111111111111111111111111);
insert into t10 values(1.111111111111111111111111111111);

3、日期类型
year 1999
date 1999-11-11
time 08:30:00
datetime/timestamp 1999-11-11 08:30:00

create table student(
id int primary key auto_increment,
name char(16),
born_year year,
birth date,
class_time time,
reg_time datetime
);
insert into student(name,born_year,birth,class_time,reg_time) values
('egon1',now(),now(),now(),now());

insert into student(name,born_year,birth,class_time,reg_time) values
('egon1',2000,20001111,now(),now());

insert into student(name,born_year,birth,class_time,reg_time) values
('egon1',2000,'2000-11-11',083000,now());

insert into student(name,born_year,birth,class_time,reg_time) values
('egon1',2000,'2000-11-11',"08:30:00",20171111111111);

insert into student(name,born_year,birth,class_time,reg_time) values
('egon1',2000,'2000-11-11',"08:30:00","2017-11-11 11:11:11");

create table t11(x timestamp);
create table t12(x datetime not null default now());

4、字符类型
# 注意:宽度指限制的是字符个数
char:定长
char(5)

varchar:变长
varchar(5)

相同点:宽度指的都是最大存储的字符个数,超过了都无法正常存储
不同点:
char(5):
'm'--->'m '5个字符

varchar(5)
'm'--->'m'1个字符

set global sql_mode="strict_trans_tables,PAD_CHAR_TO_FULL_LENGTH";

注意:mysql在查询时针对where 字段="值 "会忽略掉右面的空格,即where 字段="值"
如果时like模糊匹配就不会忽略右面的空格了

char(5)
egon |axx |lxx |fm |

varchar(5)
1bytes+egon|1bytes+axx|1bytes+lxx|1bytes+fm|

# 宽度相关练习
mysql> create table t13(x char(5));
Query OK, 0 rows affected (0.20 sec)

mysql> create table t14(x varchar(5));
Query OK, 0 rows affected (0.27 sec)

mysql>
mysql>
mysql> insert into t13 values('xxxxxx');
ERROR 1406 (22001): Data too long for column 'x' at row 1
mysql> insert into t14 values('xxxxxx');
ERROR 1406 (22001): Data too long for column 'x' at row 1

5、枚举与集合类型
枚举enum('a','b','c'):多选一
集合set('a','b','c'):多选多

create table emp(
name varchar(15),
sex enum('male','female','unkown'),
hobbies set('read','music','yinshi','play')
);

insert into emp values
('zhangming','xxx','xxxx');

mysql> insert into emp values('zhangming','female','read,play');
Query OK, 1 row affected (0.03 sec)

mysql> select * from emp;
+-----------+--------+-----------+
| name | sex | hobbies |
+-----------+--------+-----------+
| zhangming | female | read,play |
+-----------+--------+-----------+
1 row in set (0.00 sec)

mysql对库,表及记录的增删改查的更多相关文章

  1. Django项目的创建与介绍.应用的创建与介绍.启动项目.pycharm创建启动项目.生命周期.三件套.静态文件.请求及数据.配置Mysql完成数据迁移.单表ORM记录的增删改查

    一.Django项目的创建与介绍 ''' 安装Django #在cmd中输入pip3 #出现这个错误Fatal error in launcher: Unable to create process ...

  2. MySQL数据库初识、下载使用(针对库、表、记录的增删改查)

    今日内容概要 数据演变史 数据库软件的本质 MySQL简介 下载与安装 基本配置 基本SQL语句 内容详细 1.数据演变史 # 1.单独的文本文件 没有固定的存放位置和格式 文件名:user.txt ...

  3. Mysql数据库文件、表、记录的增删改查

    一.数据库文件夹的的操作 create database db1 charset utf8; 增加db1文件夹 show databases ; 查看所有数据库 show create databas ...

  4. 一、数据库表中字段的增删改查,二、路由基础.三、有名无名分组.四、多app共存的路由分配.五、多app共存时模板冲突问题.六、创建app流程.七、路由分发.八、路由别名,九、名称空间.十、反向解析.十一、2.x新特性.十二、自定义转换器

    一.数据库表中字段的增删改查 ''' 直接在modules中对字段进行增删改查 然后在tools下点击Run manage.py Task执行makemigrations和migrate 注意在执行字 ...

  5. 第三百零七节,Django框架,models.py模块,数据库操作——表类容的增删改查

    Django框架,models.py模块,数据库操作——表类容的增删改查 增加数据 create()方法,增加数据 save()方法,写入数据 第一种方式 表类名称(字段=值) 需要save()方法, ...

  6. 五 Django框架,models.py模块,数据库操作——表类容的增删改查

    Django框架,models.py模块,数据库操作——表类容的增删改查 增加数据 create()方法,增加数据 save()方法,写入数据 第一种方式 表类名称(字段=值) 需要save()方法, ...

  7. 表结构修改以及sql增删改查

    修改表结构 修改表名 alter table 表名 rename 新名 增加字段 alter table 表名 add 字段名 数据类型 约束 删除字段 alter table 表名 drop 字段名 ...

  8. Oracle学习总结_day01_day02_表的创建_增删改查_约束

    本文为博主辛苦总结,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用. 转载请注明 出自 : luogg的博客园 谢谢配合! 更新: SELECT * FROM (SELECT R ...

  9. java-数据库连接,分层实现增删改查测试

    成员属性类: public class Dog { private int number; private String name; private String strain; private St ...

随机推荐

  1. window.name应用于浏览器端数据存储

    本代码简单地分享利用window.name实现浏览器端数据存储: 1.在同一个页面一个地方设置window.name = "abc",另外一个地方读取window.name,自然能 ...

  2. 关于View转化成bitmap保存成图片

    产品今天说项目分享时要分享出一张  封面图片 + 几行文字 + 二维码图片 的图片. 思索了一下 封面图片和二维码图片让后台给接口得到地址, 主要还是找个方式得到一个包含这些内容的图片.于是就想能不能 ...

  3. codeforces 441B. Valera and Fruits 解题报告

    题目链接:http://codeforces.com/problemset/problem/441/B 题目意思:有 n 棵fruit trees,每课水果树有两个参数描述:水果成熟的时间和这棵树上水 ...

  4. Silverlight 2中实现文件上传和电子邮件发送

    Silverlight 2中实现文件上传和电子邮件发送 [收藏此页] [打印]   作者:IT168 TerryLee  2008-05-30 内容导航: 使用Web Service上传文件   [I ...

  5. poj 3468 A Simple Problem with Integers(线段树 插线问线)

    #include<iostream> #include<stdio.h> #include<string.h> #define NN 2500000 using n ...

  6. 怎么解决Failed to load the JNI shared library

    怎么解决Failed to load the JNIshared library   解决Failed to load the JNIshared library唯一的方法就是重新安装eclipse, ...

  7. javascript switch..... case

    switch(条件表达式) { case 常量: { 语句a; } break; case 常量: { 语句b; } break; case 常量: { 语句c; } break; ... case ...

  8. chromium浏览器开发系列第一篇:如何获取最新chromium源码

    背景:      最近摊上一个事儿,领导非要让写一篇技术文章,思来想去,自己接触chrome浏览器时间也不短了,干脆就总结一下吧.于是乎,本文顺理成章.由于有些细节必需描述清楚,所以这次先讲如何拿到c ...

  9. hibernate基础配置文件

    主配置文件 <?xml version='1.0' encoding='utf-8'?> <!DOCTYPE hibernate-configuration PUBLIC " ...

  10. HDU 1270 小希的数表 (暴力枚举+数学)

    题意:... 析:我们可以知道,a1+a2=b1,那么我们可以枚举a1,那么a2就有了,并且a1+a3=b2,所以a3就有了,我们再从把里面的剩下的数两两相加,并从b数组中去掉, 那么剩下的最小的就是 ...