mysql对库,表及记录的增删改查
破解密码
#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对库,表及记录的增删改查的更多相关文章
- Django项目的创建与介绍.应用的创建与介绍.启动项目.pycharm创建启动项目.生命周期.三件套.静态文件.请求及数据.配置Mysql完成数据迁移.单表ORM记录的增删改查
一.Django项目的创建与介绍 ''' 安装Django #在cmd中输入pip3 #出现这个错误Fatal error in launcher: Unable to create process ...
- MySQL数据库初识、下载使用(针对库、表、记录的增删改查)
今日内容概要 数据演变史 数据库软件的本质 MySQL简介 下载与安装 基本配置 基本SQL语句 内容详细 1.数据演变史 # 1.单独的文本文件 没有固定的存放位置和格式 文件名:user.txt ...
- Mysql数据库文件、表、记录的增删改查
一.数据库文件夹的的操作 create database db1 charset utf8; 增加db1文件夹 show databases ; 查看所有数据库 show create databas ...
- 一、数据库表中字段的增删改查,二、路由基础.三、有名无名分组.四、多app共存的路由分配.五、多app共存时模板冲突问题.六、创建app流程.七、路由分发.八、路由别名,九、名称空间.十、反向解析.十一、2.x新特性.十二、自定义转换器
一.数据库表中字段的增删改查 ''' 直接在modules中对字段进行增删改查 然后在tools下点击Run manage.py Task执行makemigrations和migrate 注意在执行字 ...
- 第三百零七节,Django框架,models.py模块,数据库操作——表类容的增删改查
Django框架,models.py模块,数据库操作——表类容的增删改查 增加数据 create()方法,增加数据 save()方法,写入数据 第一种方式 表类名称(字段=值) 需要save()方法, ...
- 五 Django框架,models.py模块,数据库操作——表类容的增删改查
Django框架,models.py模块,数据库操作——表类容的增删改查 增加数据 create()方法,增加数据 save()方法,写入数据 第一种方式 表类名称(字段=值) 需要save()方法, ...
- 表结构修改以及sql增删改查
修改表结构 修改表名 alter table 表名 rename 新名 增加字段 alter table 表名 add 字段名 数据类型 约束 删除字段 alter table 表名 drop 字段名 ...
- Oracle学习总结_day01_day02_表的创建_增删改查_约束
本文为博主辛苦总结,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用. 转载请注明 出自 : luogg的博客园 谢谢配合! 更新: SELECT * FROM (SELECT R ...
- java-数据库连接,分层实现增删改查测试
成员属性类: public class Dog { private int number; private String name; private String strain; private St ...
随机推荐
- #1241 : Best Route in a Grid
时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 给定一个N行N列的非负整数方阵,从左上角(1,1)出发,只能向下或向右走,且不能到达值为0的方格,求出一条到达右下角的最佳 ...
- manacher求最长回文子串算法模板
#include <iostream> #include <cstring> #include <cstdlib> #include <stdio.h> ...
- 计算机学院大学生程序设计竞赛(2015’12)Pick Game
Pick Game Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- 域名ip自动跳转 跳转指定页面的js
域名ip自动跳转 跳转指定页面的js 为了应对百度审核,需要客户的网站在个别地区跳转到另一个页面,就搞到了这段代码,屡试不爽,超实用.下面把地址换成你要访问的网站url地址或者文件url地址即可.超实 ...
- [原创]Java生成Word文档
在开发文档系统或办公系统的过程中,有时候我们需要导出word文档.在网上发现了一个用PageOffice生成word文件的功能,就将这块拿出来和大家分享. 生成word文件与我们编辑word文档本质上 ...
- CodeForces-380C:Sereja and Brackets(线段树与括号序列)
Sereja has a bracket sequence s1, s2, ..., sn, or, in other words, a string s of length n, consistin ...
- AtCoder3857:Median Sum (Bitset优化背包&&对称性求中位数)
Median Sum You are given N integers A1, A2, ..., AN. Consider the sums of all non-empty subsequences ...
- [angularJS]ng-hide|ng-show切换
<div class="row ng-scope"> <div class="col-lg-12"> <h1 class=&quo ...
- OrChard快速开发一个网站,个人网站
Orchard中文 登录 主页 文档 下载 博客文章 论坛 联系我们 Orchard是一个以微软为主导的开源CMS项目,它允许使用者在Asp.Net平台上快速建立网站,并且提供扩展框架能够允许定制人员 ...
- delphi 2010 启动卡死,过一段时间后出现“displayNotification:堆栈溢出 怎么解决?
解决方法:打开IE,在Internet选项中,删除历史记录.