随身笔记
随身笔记

mysql创建数据库建表字段实例

mysql案例 mysql笔记

参考看《mysql数据库笔记

数据库字符集的修改设置《解决php输出文本出现乱码

mysql数据库存储过程

php和mysql交互 https://sdeno.com/?p=5456

链接数据库

mysql.exe -h地址 -u用户名 -p密码

 

1,创建数据库

CREATE DATABASE `liuyan`
CHARACTER SET 'utf8'  //听说utf8mb4 才是真正的utf8
COLLATE 'utf8_general_ci';

2,选择数据库(选择后才能创建表和字段)

 use liuyan;

3,设置字符集

set names utf8;

4,创建表和字段

CREATE TABLE `liuyan_user` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
`liuyan_username` varchar(40) NOT NULL default '',
`liuyan_userpass` char(40) NOT NULL default '',
`liuyan_prompt` varchar(40) NOT NULL default '',
`liuyan_answer` varchar(40) NOT NULL default '',
`liuyan_sex` varchar(4) NOT NULL default '',
`liuyan_pic` varchar(40) NOT NULL default '',
`liuyan_email` varchar(40) NOT NULL default '',
`liuyan_qq` varchar(20) NOT NULL default '',
`liuyan_url` varchar(40) NOT NULL default ''
) ENGINE=InnoDB DEFAULT CHARSET=utf8;


写多读少选InnoDB
读多写少选MyISAM //默认是这个


 

 

对数据的增、删、改、查。

 

增:

创建库
CREATE DATABASE `test2`;

创建数据库,并且防止报错
create database if not exists 数据库名;

创建字符集编码为gbk的数据库
create database if not exists 数据库名 character set gbk;

创建库(推荐)
CREATE DATABASE `liuyan`
CHARACTER SET 'utf8'
COLLATE 'utf8_general_ci';
创建数据库以及防止出现乱码的注意事项:《解决php输出文本出现乱码》

插入数据
insert into 表 valus(‘值1′,’值2′,’值3′,..);
insert into 表(字段1,字段2,字段3,..) values (‘字段1值’,’字段2值’,’字段3值’,..);

添加表
alter table 表名 add 字段名 varchar(30) not null;

在字段名2的后面插入字段名1
alter table 表名 add 字段名1 varchar(30) not null after 字段名2;

最前面插入
alter table 表名 add 字段名 varchar(30) first;

复制表
CREATE table 新表名 LIKE 被复制的表; //复制表的结构不含内容
create table 新表名 select * from 被复制的表; //完全复制包括内容
create table 新表名 select 字段1,字段2 from 被复制的表; //只复制指定字段

 

删:

drop database 库名; //删除库

drop database if exists 数据库名; //删除库,并且防止报错

drop table 表名; //删除表名

alter table 表名 drop 删除的字段名; //删除字段名

delete from 表 where id=2; //删除id是2的那条数据

DELETE FROM 表 WHERE id IN (1,2,3,4); //批量删除id为1,2,3,4的数据

truncate table 表名;  或者  delete from 表名; //清空表内容

 

改:

改字段内容
什么条件找到那条数据去修改指定的内容(键可以根据id或者其他字段名当做搜索条件)
update 表 set 字段="修改内容",字段="修改内容" where 键=值;

改表名
alter table 原表名 rename as 改表名;

改字段名
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 新数据类型;

改字段类型
alter table 表名 modify 字段名 要修改的类型;

改表字符集
ALTER TABLE 表名 CONVERT TO CHARACTER SET gbk COLLATE gbk_chinese_ci;
ALTER TABLE 表名 CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

修改数据库字符集编码
alter database 数据库名 character set = utf8;

改顺序
SELECT * FROM 表名 ORDER BY `时间的字段` DESC; //按照时间倒序排列数据(正序ASC)


批量修改某字段为统一内容
update 表 set 字段='2222';

批量替换指定字符串
UPDATE 表名 SET 指定字段 = replace (指定字段, '想要替换的字符串', '替换成的字符串') WHERE 条件;

 

查:

SHOW DATABASES; //查看全部数据库
SELECT DATABASE(); //查看当前选中的哪个数据库
SHOW TABLES; //查看当前选中数据库的表
SELECT * FROM 表名; //查看整张表字段内容
DESCRIBE 表名; //查看整张表字段类型信息


SELECT * FROM 表名 WHERE 字段名='筛选内容';//筛选指定条件的所有数据
SELECT * FROM 表名 ORDER BY `时间的字段` DESC; //按照时间倒序排列数据(正序ASC)
SELECT * FROM 表名 LIMIT 0,10 //从第一条开始查找前10条数据

例子:select * from users where bonus=0 order by id desc limit 0,10;
SELECT COUNT(*) FROM 表 //查询表有多少条数据

查看mysql版本
select version();

当前时间
select now();

当前是哪个用户登录的
select user();

查看创建这个数据库的字符集编码
show create database 数据库名;
SHOW VARIABLES LIKE 'character%'; //同上

查看当前操作的数据库名
select database();

查看其他库的所有表
show tables from 数据库名;

/查看表的数据结构
show columns from 表名;

 

 

计算

加、减、乘、除

mysql> SELECT 3+4;
mysql> SELECT 3/4;

 

 

//整数进一位
mysql> SELECT CEIL(3.01);  //4

//相反
mysql> SELECT FLOOR(3.99); //3

 

//取整
mysql> SELECT 3 DIV 4;  //0

//取余
mysql> SELECT 3 DIV 4; //3

 

//四舍五入
mysql> SELECT ROUND(3.652,2); //3.65

mysql> SELECT ROUND(3.652,1); //3.7

 

//截取
SELECT TRUNCATE(125.89,2);  //125.89
SELECT TRUNCATE(125.89,1);  //125.8
SELECT TRUNCATE(125.89,0);  //125
SELECT TRUNCATE(125.89,-1); //120

 

 

备份:

mysqldump -u 帐号 -p -h地址 数据库 >备份后名称.sql

还原:

1,先创建一个空的数据库

CREATE DATABASE `test2`;  //接着右键如下图
mysql_2

 

mysql结合php实例

phpforex

 

 http://mp.weixin.qq.com/s?__biz=MjM5NzA1MTcyMA==&mid=208499295&idx=4&sn=33c0caeb3903b39c4ac7d72fbdf13f1f&scene=1#wechat_redirect

随身笔记

mysql创建数据库建表字段实例
mysql案例 mysql笔记 参考看《mysql数据库笔记》 数据库字符集的修改设置《解决php输出文本出现乱码》 《mysql数据库存储过程》 php和mysql交互 https://sdeno.com/?p=5456 …
扫描二维码继续阅读
2014-11-09