基本概念——库

1.数据库服务器:库——>表——>行/列

2.cmd下链接: mysql – uroot –proot

3.创建库:create database  php;

3.看数据库下有哪些库: show databases;

4.选中某个库:use php;
5.删除某个库:drop database test;

基本概念——表

6.显示某个库的表格:show tables;

7.mysql本身并没有提供修改数据库名字的语句,但可以曲径修改

8.创建一个表:create table class(

stu int,

name varchar(20),

age int

);

9.修改表的名字:rename table score to newscore;

10.删除表格:drop table newscore;

11.查看表结构:desc score;

12.修改表格中某一列的名字:alter table student change stu id int;

13.修改某一列的数据类型:alter table shangke modify pdate datetime;

增删改查

12.增加一行:insert into class

(stu,name,age,area)

values

(130,’刘硕’,’20’,’河北工程’),

(131,’刘加’,’21’,’河北工程’);

id int primary key auto_increment  :表示id为主键,其值不能重复,若不给定会自动增加

13.增加一列:

alter table class add age2  tinyint unsigned;

13.解决字符集问题: set names gbk;

14.查看表中所有内容:select * from class;

15.查看某及行某几列:delete from class

where stu = 131;

16.修改表中内容:update class

set  area = ‘河北工程’

where stu = 131

17.删除表中某行:delete from class

where stu = 131;

18.查找

where , group , having , order by , limit 五种语句

1.where中的运算符: =  >  <  !=  <>  >=  <=

in(值1,值2…值n)表示值1-n任意一个都行  between 值1 and 值2 ,表示在值1和值2之间

2.逻辑运算符:and  && ,   or  ||  ,   not  !

3. %  通赔任意字符,  _  通配单个字符

e.g.:select * from book where bookname like ‘java%’;

4.group语句:

e.g.:  select max(shop_price) from goods;  取最大值   min()为最小值

select sum (goods_num) from goods;   求某个属性的总和

select avg(shop_price) from goods;     求某个属性的平均值

select count(*) from goods;            求共有多少行

select  cat_id,  max(shop_price) from goods group by cat_id;  //按栏目查询最贵的商品

select  cat_id,  avg(shop_price) from goods group by cat_id;  //某个栏目下商品的平均值

select cat_id, count(*) from goods group by cat_id;           //某栏目下共有多少商品

详解列类型

1.详解列类型:

整型:

tinyint (1个字节)  smallint (2字节)  mediumint (3字节)  int (4字节)  bigint (8字节)

类型

字节

无符号

有符号

Tinyint

1

8

0-255

-128-127

默认是有符号的

可选属性:  unsigned (无符号,非负)  tinyint(M) M:代表宽度在zerofill时才有意义   zerofill (零填充) 如果某列是零填充则默认为无符号

列可以声明默认值,而且推荐生成默认值:

e.g. : not null default 0 ;

浮点型和定点型:

浮点型:float(M,D)  M:代表总位数,D:代表小数位数

定点型:decimal

定点型更精确一些

字符型;

char(M): 定长  ,M代表宽度,可容纳的字符数 如果存的小于M个字符,实占M个字符

varchar(M): 变长,   存的小于M个字符设为N,则实占N个字符

text :文本串  ,一般用于比较大的文本   ,不能有默认值

char()  :定长型当实存小于M时,在末尾补/0。  取出的时候舍掉末尾的所有/0,,所以当存储的数据含有/0时,会丢失数据,但是速度高。

选择原则:1.空间利用效率,2.速度

日期时间类型:

计算机的元年从1970年开始

year: 1个字节表示1901-2155,如果输入两位 00-69 表示2000-2069   70—99表示1970-1999

date: 1992-08-12  范围:’1000-01-01’ ~ ‘9999-12-31’

time:  hh:mm:ss   范围:’-839:59:59’ ~ ’+839:59:59’

datetime:   ‘1989-08-09 14:26:06’   范围:1001-01-01 00:00:00 ~ 9999-12-31 23:59:5

!!!一般注册时间、商品发布时间不是用datetime类型来存储,而是用时间戳来存储。

时间戳:从1970-01-01 00:00:00 到当前的秒数

枚举类型:

sex  enum (‘男’,’女’)

字符集问题

1.查看默认字符集:SHOW VARIABLES LIKE 'character%';

2. ---> set character_set_client = gbk; 设置插入时接收的编码为GBK, 这样就可以插入中文了

此时中文字符已经可以插入, 但查询结果却还是乱码, 再更改一处即可:

---> set character_set_results = gbk; 设置输出结果的编码为GBK

注: 这样的设置只对当前连接有关, 连接断开, 这些设置恢复数据库默认设置状态,因此,如果需要,每次连接都得设置

3.set names gbk;这一句和上边两句起到相同作用

常用技巧

1.获取总行数

String sql = "select * from flights";

rs = stmt.executeQuery(sql);

rs.last();

num = rs.getRow();       //获取数据库中的总行数

安装了一个虚拟机,

Oracle VM virtualBox

(语句)连接数据库 MySQL -uusername -ppassword

连上服务器,先面对的是库,表。

(语句)选库语句 use 库名;

(语句)查看所有的库 show databases;

(语句)创建一个数据库?Create  database 数据库名[charset 字符集]utf8;

Create database book charset utf8;

(语句)删除一个数据库?

Use 数据库名;

Drop database 数据库名;

(语句)建立一个表

Use 数据库名;

Create table 表名(

Snum Int,

Sname varchar(10)

);//下面这句话不写也可以。

engine myisam charset utf8;//engine 表引擎和性能特点相关

(语句)如何查看库下面所有的表?Show tables;

(语句)删除表   drop table 表名;

(语句)改名??表、列可以改名,database不可以。Rename table oldname to newname

(语句)在表中插入数据

Insert into 表名 values

(1,‘zhangsan’),

(2,‘lisi’);

(语句)清空表??Truncate 表名;

Select *from 表名;会出现empty set  空集合

Truncate  删表在重建==把旧的学籍表扔了重画一张

Delecte  ==橡皮把学籍表的数据库擦掉了

(语句)查看表结构 desc  tablename;

(语句)查看表内容 select *from  tablename;

建立一个表

Create table class(

Id int  primary key auto_increment,

Sname varchar(10) not null default ’’,

Gender char(1) not null default ’’,

Company  varchar(10) not null default ’’,

Salary decimal(6,2) not null default 0.00,

Fanbu smallint not null default 0

)engine myisam charset utf8;

往表里添加数据

Insert into tablename

(id,sname,gender,company,salary,fanbu)

Values//equal

(1,’张三’,’男’,’百度’,5555.66,456);

(语句)更改表中数据

Update  tablename

Set

Sname=‘张小姐’,

Company=‘微软’

Where fanbu>600;   更改后的第一行为 张小姐,女,微软,8000,1000

(语句)删除表中的数据

Delete from tablename

Where fanbu<700;  删除后李四一行消失

若 delete from tablename;  将清空表,但不会删除表。

(语句)查找表中的数据

Select  sname,company,salary from class where id=2;

Select  *from class;//查看全部列全部行

Select sname,salary from class;//部分列,所有行的全部人的信息。

Select *from class where id >3;//取id>3的所有列。

Select  sname,fanbu from class where id<5;//取id<5,取其姓名和饭补。

2.字符集设置

--> set character_set_client = gbk; 设置插入时接收的编码为GBK, 这样就可以插入中文了

此时中文字符已经可以插入, 但查询结果却还是乱码, 再更改一处即可:

---> set character_set_results = gbk; 设置输出结果的编码为GBK

注: 这样的设置只对当前连接有关, 连接断开, 这些设置恢复数据库默认设置状态,因此,如果需要,每次连接都得设置!

3.set names gbk;这一句和上边两句起到相同作用

网络编程

本级默认IP地址 127.0.0.1

MYSQL操作的一些知识点,持续更新中····的更多相关文章

  1. 关于mysql的使用命令(持续更新中...)

    特别提示  本说明中的mysql 是基于windwos平台下的5.5 版本 安装完成后 请到mysql中设置配置文件   链接分享:链接:https://pan.baidu.com/s/1tv4ulZ ...

  2. mysql日常使用总结(持续更新中)

    记录一些日常的mysql常用的使用, 方便随用随查. 一.表结构 1.1 查看表结构 方式1: 可以查看建表语句,完整的表结构. show create table table_name; 方式2:可 ...

  3. MySQL 面试题汇总(持续更新中)

    COUNT COUNT(*) 和 COUNT(1) 根据 MySQL 官方文档的描述: InnoDB handles SELECT COUNT(*) and SELECT COUNT(1) opera ...

  4. MySQL使用技巧收集,持续更新中......

    1.查询时按某一内容为中文的字段,以拼音字母排序: SELECT * FROM game ORDER BY CONVERT(name USING GBK);

  5. 前端深入之js篇丨Array数组操作从入门到成神Up Up Up,持续更新中

    写在前面 随着前端深入的不断学习,发现数组这个数据结构在前端中有着相当大的存在感,由于我初学前端的时候并没有系统性的学习数组,所以我将通过这篇文章同你一起学习数组,希望我们能一起进步,学会熟练操作数组 ...

  6. html知识点汇总(持续更新中)

    本人从事前端行业三年多,打算从今天开始整理一些关于前端的一些比较经典的知识点,持续更新中...希望能对一些相关知识点有疑问的朋友有一些帮助! HTML篇: 1.常见的行内元素/块级元素/空元素有哪些? ...

  7. 2020年腾讯实习生C++面试题&持续更新中(3)

    2020年腾讯实习生C++面试题&持续更新中(3) hello,大家好,我是好好学习,天天编程的天天. 来给大家大家分享腾讯实习生面经了. 天天希望大家看到面经后一定要做充分的准备,结合自己掌 ...

  8. java视频教程 Java自学视频整理(持续更新中...)

    视频教程,马士兵java视频教程,java视频 1.Java基础视频 <张孝祥JAVA视频教程>完整版[RMVB](东西网) 历经5年锤炼(史上最适合初学者入门的Java基础视频)(传智播 ...

  9. 史上最全的spark面试题——持续更新中

    史上最全的spark面试题——持续更新中 2018年09月09日 16:34:10 为了九亿少女的期待 阅读数 13696更多 分类专栏: Spark 面试题   版权声明:本文为博主原创文章,遵循C ...

  10. 2020年腾讯实习生C++面试题&持续更新中(1)

    2020年腾讯实习生C++面试题&持续更新中(1) 腾讯面试整理(1) 最近大三的学生找实习生的同学非常多,给大家分享一篇腾讯实习生的面试题,关于面试题,会持续更新~~~ 也算是今天开通博客的 ...

随机推荐

  1. shell编程-1到100的求和与冒泡排序

    Shell编程 一.  for循环 生成列表 {起始数..结束数} 命令生成列表 `seq [起始数] [步进长度] 结束数 ` for  l in {1..5};do for  l in `seq ...

  2. linux 安装中文支持包及中文字符集配置

    由于某些原因系统安装时未安装中文支持,导致后续应用出现中文方块乱码现象,解决方法很简单,当然不是重装,只需以下三步即可搞定. 1.安装中文包: #yum -y groupinstall chinese ...

  3. jsp 、js和css

    css的一些样式 1.自动换行 .AutoNewline { Word-break: break-all;/*必须*/ width :50px;/*这里是设置多宽就进行换行 */ }

  4. 转载:js和jquery获取父级元素、子级元素、兄弟元素的方法

    转载网址: 先说一下JS的获取方法,其要比JQUERY的方法麻烦很多,后面以JQUERY的方法作对比. JS的方法会比JQUERY麻烦很多,主要则是因为FF浏览器,FF浏览器会把你的换行也当最DOM元 ...

  5. Android设置选项开发及自定义Preference样式

    一个完整的Android应用程序都应该提供选项(或者叫偏好设置等等)让用户对APP的表现形式能够进行设置,比如说是否加入用户体验计划,或者是否自动升级.定时提醒.开启自启动.后台运行等等.提供一个好的 ...

  6. [TYVJ] P1026 犁田机器人

    犁田机器人 背景 Background USACO OCT 09 2ND   描述 Description Farmer John為了让自己从无穷无尽的犁田工作中解放出来,於是买了个新机器人帮助他犁田 ...

  7. ExpandableListView 保证只展开一组

    expandableListView.setOnGroupExpandListener(new OnGroupExpandListener(){ @Override public void onGro ...

  8. POJ 1379 Run Away

    题意:有n个陷阱,在X,Y范围内要求出一个点使得这个点到陷阱的最小距离最大. 思路:模拟退火,随机撒入40个点,然后模拟退火随机化移动. (这题poj坑爹,加了srand(time(NULL))不能交 ...

  9. linux下能ping ip不能ping域名详解

    今天在开发的同事来说,内网不能通过域名访问自己的服务器!然后做了下面的测试发现这样的问题: [root@itmop ~]# ping www.downcc.com ping: unknown host ...

  10. JQuery Ajax 获取数据

    前台页面:   对一张进行查询,删除,添加 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"& ...