《一》、数据类型
一、整型
二、浮点型
FLOAT单精度浮点型,DOUBLE双精度浮点型,DOUBLE[(M,D)]例如7,2 总位数为7位,小数点后面的为两位。
三、日期时间型
日期时间型YEAR TIME DATE DATETIME TIMESTAMP
因为存在跨时期问题,一般采用数字类型替代日期时间型
三、字符型
1.CHAR:定长。没有达到指定长度时,后面以空格补齐。
2.VARCHAR:边长。存什么是什么。
3.TINYTEXT:
4.TEXT:
5.MEDIUMTEXT:
6.LONGTEXT: L+n个字符 1字节=8位 e.g.L+2位 即16个1 即2的16次方
7.ENUM:给定几个选项,让它做选择。e.g.性别:男、女、保密。
8.SET:集合。从给定的值中选择,做任意的排列组合。
e.g. 给定 a,b,c,可以有a,b,ab,abc等等。
《二》、操作数据库基础
(一)、启动MySQL服务
1、cmd命令行(services.msc)打开服务管理 :
2、在服务列表中找到mysql并启动
(二)、cmd中打开和关闭mysql
一、打开MySQL三种方式 (用户名root,密码123456)
1、mysql --user=root --password=123456
2、mysql -u root -p 回车后输入密码即可
3、mysql -uroot -p12346
二、关闭mysql三种方式
1、exit; 2、quit;3、\q;
(三)、MySQL语句规范
1、关键字与函数名称全部大写
2、数据库名称、表名称、字段名称全部小写
3、SQL语句必须以分号结尾
(四)、基础语法
一、基础
1、显示当前服务器版本SELECT
VERSION();
2、显示当前日期时间
SELECT NOW();
3、显示当前用户
SELECT USER();
二、数据库基础
1、查看有哪些数据库
SHOW DATABASES; —— —— CREATE DATABASE IF NOT EXISTS firstdb;
2、查看某个数据库的信息
SHOW CREATE DATABASE firstdb;//可以获取数据库信息
—— —— CREATE DATABASE IF NOT EXISTS firstdb CHARACTER SET gbk;
—— —— ALERT DATABSE firstdb CHARACTER SET = utf-8; //更改数据库编码方式
3、选择某个数据库db
USE xxxdb;
4、查看当前打开的数据库:SELECT DATABASE();
5、在当前选中的数据库中创建数据表
CREATE TABLE [IF NOT EXISTS] TABLE_NAME(username VARCHAR(20), age TINYINT UNSIGNED, salary FLOAT(8,2) UNSIGNED)
(行的名字 数据类型,....), 其中(8,2) 意思是 总共8位数 小数点后面有2位数;UNSIGNED是无符号,岁数只能正数
6、查看上面选中数据库中的数据表有哪些
SHOW TABLES;
7、显示数据表的结构
DESCRIBE tbl_name; 或者 SHOW
COLUMNS FROM tbl_name
8、insert插入数据 INSERT [INTO] tb1_name [(col_name,...)] VALUES(val,...)
如:INSERT table_1(username, salary) values('cat',12212.50);
9、查询数据表中所有数据
SELECT * FROM xxxtable; —— —— INSERT INTO firsttable(name, birthdate) values("mmm", "1990");
10、标记字段空值和非空
13、unique key 唯一约束 唯一约束可以保证记录的唯一性 唯一约束的字段可以为空值(null) 每张数据表可以存在多个唯一约束(可以存在多个空值null)
14、default 默认值
当插入记录时 如果没有明确为字段赋值 则自动赋予默认值
例句:sex enum('1','2','3') default '3',------字段标记 end--------
9、更新某条数据
UPDATE firsttable SET birthday = "1996" WHERE NAME = "mmm";
10、查询数据库
SELECT * FROM firstable WHERE NAME = "tom";
SELECT * FROM firstable WHERE NAME = "tom" AND birthdate = "1999";
11、删除记录
DELETE FROM F firsttable WHERE NAME =‘abc‘;
12、删除表
DROP TABLE ****(表1的名字),***表2的名字;
10、删除数据库
DROP DATABASE IF EXISTS 数据库名;
11、多表查询
SELECT id, title FROM firstable, secondtable WHERE name=writer;