在SQL 的笔记中 会在Eg做大篇幅的记录~ 1.创建数据表(图1) //记录 字段 2.创建数据表的SQL语句模型 DDL //创建表的最基本结构 "[]"是可以省略的 CREATE TABLE [IF NOT EXISTS] 表名称( 字段名1 列类型 [属性] [索引] 字段名2 列类型 [属性] [索引] .... 字段名n 列类型 [属性] [索引] )[表类型][表字符集]; //表名称和字段名 需要自己定义{这个不是废话么?...} 建议: 1.SQL不区分大小写,但是表就是一个文件名windows不区分,但是linux区分大小写 2.自己定的名称最好小写 3.SQL语句都大写 方法eg: mysql>CREATE TABLE [IF NOT EXISTS] nsers( ->id INT, ->name CHAR(40) ->); 3.数据值和列类型 //按空间大小来区分 他是有"量"的 /* int $a=10;占多少字节?多了就多~~~ 100000000*4 不可估量 */ A.数值型 a.整型(整数) //带符号的 不带符号 1)非常小 1字节 -128~127 0~255 {TINYINT 2)较小 2字节 -32768~32767 0~65535 {SMALLINT 3)中等大小 3字节 0~16777215 {MEDIUMINT 4)标准 4字节 -2147483648~2147483647 {INT 5)大 8字节 2^64个 {BIGINT //Eg2有代码 b.浮点型(小数) float(M,D) 4字节 double(M,D) 8字节 decimal(M,D) M+2个字节 // 定点数 以字符串形式存放所以说就是以字符串得形式存放浮点数 [char] [varchar] '' 4字节 '' 1字节 'sdf' 4字节 'asdasda' 1+7=8字节 'sdffsdfsdf' 4字节 'asdasdfsdfa' 1+11=12字节 两个检索方式不同,,,char 会删除最后空格 varchar 不会删除最后的空格; 但是 char 速度快 用于变化不大的存储 varchar 速度没有 char 快 //Eg3有代码 text 文本数据 变长 (文章) 2^16-1 MEDIUMTEXT LONGTEXT 2^32-1 blob 二进制数据 变长,(压缩包 电影 相片) MEDIUMVLOB LONGBLOD 2^32-1 B.字符型 //"mysql" 'mysql' char(m) 255 定长 varchar(m) 255 变长 //Eg4 ENUM 枚举 1或者2字 65535 ENUM("one","two","three","four")//只能用这四个 用下标 //Eg5 SET 集合 1,2,3,4,8 字节 //枚举和集合的区别...枚举一次只能用一个值 ,,集合可以用多个值 C.日期型 DATE YYYY-MM-DD TIME hh:mm:ss DATETIME YYYY-MM-DD hh:mm:ss TIMESTAMP YYYYMMDDhhmmss YEAR YYYY 创建表时候最好不要用(1970-1-1 0:0:0)是个整数 用整数保存时间 time(); int??用它保存时间 收货: SHOW TABLES//看表 SESC users(自己创建的)//看表结构 Eg_1://显示~进入~创建 show databases;//显示数据库 create database if exists zp;//创建数据库 use zp;//进入数据库 create table if exists users( id INT, name CHAR(40) );//创建数据表 show tables;//显示数据表 desc users;//显示表结构 -----+--------------------------------------------------------------+ | //show databases显示数据库 [这是查看有多少数据库的 | | +--------------------+ | | | Database | | | +--------------------+ | | | information_schema | | | | mysql | | | | phpmyadmin | | | | test | | | | zp | | | +--------------------+ | -----+--------------------------------------------------------------+ | //show tables显示数据表 [这是数据库里面的 | | +--------------+ | | | Tables_in_zp | | | +--------------+ | | | tab1 | | | | users | | | +--------------+ | -----+--------------------------------------------------------------+ | //desc users显示表结构 [这是数据表里面的东东 | | +-------+----------+------+-----+---------+-------+ | | | Field | Type | Null | Key | Default | Extra | | | +-------+----------+------+-----+---------+-------+ | | | id | int(11) | YES | | NULL | | | | | name | char(40) | YES | | NULL | | | | +-------+----------+------+-----+---------+-------+ | -----+--------------------------------------------------------------+ /*-----数据库->数据表->数据表结构-----*/ Eg_2://创建一个表的还有整形的存储 create table tab1(id tinyint); insert into tab1(id) value(100); insert into tab1(id) value(200); insert into tab1(id) value(-200); select * from tab1;//这个是查值,,desc是查结构 ↓↓↓ ↓↓↓↓↓↓ ↓↓↓↓↓↓ +------+ | id | +------+ | 1 | | 127 | | -128 | +------+//tinyint不能大于12 Eg_3: create table tab3(price float(5,2)); insert into tab3(price) value(123.321); insert into tab3(price) value(999.321); insert into tab3(price) value(1000.129);//insert into tab3(price) value(111,3333); select * from tab3; ↓↓↓ ↓↓↓↓↓↓ ↓↓↓↓↓↓ +--------+ | price | +--------+ | 123.32 | | 999.32 | | 999.15 | +--------+//自己找规律 浮点数不可以用"="比较 Eg_4: create table tab5(name char(4),desn varchar(4)); insert into tab5 values('abcsd','sdfsdf');//会警告但是会保存 Eg_5: create table tab9(one enum('a','b','c','d'),two set('a','b','c','d')); //insert into的时候 emum只可以存一个 set可以存多个 Eg_6: create table tab10(one date ,two time,three datetime,four timestamp,five year)); DATE YYYY-MM-DD TIME hh:mm:ss DATETIME YYYY-MM-DD hh:mm:ss TIMESTAMP YYYYMMDDhhmmss YEAR YYYY//存放只能按照上面格式来存 错误总结: ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'creat databases if exists t' at line 1 错误1064(42000):你有一个错误在您的SQL语法; 检查手册对应你的MySQL服务器版本为正确的语法使用近"xxxxxxS" 在1行 小命令: /* s->命令 mysql Ver 14.14 Distrib 6.0.4-alpha, for Win32 (ia32) Connection id: 2 Current database: zp{这里是进入哪个表~} Current user: root@localhost SSL: Not in use Using delimiter: ; Server version: 6.0.4-alpha-community-log MySQL Community Server (GPL) Protocol version: 10 Connection: localhost via TCP/IP Server characterset: utf8 Db characterset: utf8 Client characterset: utf8 Conn. characterset: utf8 TCP port: 3306 Uptime: 6 hours 58 min 43 sec{开的时间} Threads: 1 Questions: 12 Slow queries: 0 Opens: 15 Flush tables: 1 Open tab les: 0 Queries per second avg: 0.0 */ /* c 退出以"->"模式的命令 */ /* ? 很牛逼的一个指令哦 格式: "? creatc" */