mysql教程
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
删除数据 语法: 语法: delete from 表名 [where 条件 ]
说明: 说明: 删除数据,是通过where来确定要删除哪些数据。不写where将删除当前表中的所有数据。 示例: 示例: delete from stu_info where id=20; delete from stu_info where id>20 and stu_age>25;
创建数据库
1、创建数据库: 创建数据库:
CREATE DATABASE db_name
CREATE DATABASE用给定的名字创建一个数据库。
2、删除数据库: 删除数据库:
DROP DATABASE [IF EXISTS] db_name
DROP DATABASE删除数据库中的所有表和数据库。期中if exists用来在删除之前,判断此数据库是否存在。
来自百度文库
3、选择数据库: 选择数据库:
use db_name;
数据库创建之后,可用use来选择要操作的数据库。
创建表语法
创建表的完整语法: CREATE TABLE [IF NOT EXISTS] tbl_name [(create_definition,...)] [table_options] [select_statement] create_definition: col_name type [NOT NULL | NULL] [DEFAULT default_value] [AUTO_INCREMENT] [PRIMARY KEY] [reference_definition] or PRIMARY KEY (index_col_name,...) or KEY [index_name] (index_col_name,...) or INDEX [index_name] (index_col_name,...) or UNIQUE [INDEX] [index_name] (index_col_name,...) or [CONSTRAINT symbol] FOREIGN KEY index_name (index_col_name,...) references table_name(colume name) or CHECK (expr) ENGINE=InnoDB DEFAULT CHARSET=gbk; 在创建表同时,指定表的编码。 创建表是非常重要的一环。如果表创建不当,势必造成以后的工作没有意义。 null: auto_increment用于自动增长,primary key not null:不能为空;default 用于指定默认值,auto_increment default auto_increment primary key用于指定主键。unique 唯一 性约束。 主键: 主键:主键是表数据唯一性的重要标识,如我们和身份证号,学生学号,都可以作为主键。一个表只能有一个主键。
数据库和表名在Unix上是区分大小写的,而在Win32上忽略大小写。
MySQL列类型 列类型
MySQL支持大量的列类型,它可以被分为3类:数字类型、日期和时间类型以及字符串(字符)类型。 MySQL
数字类型
tinyint smallint int bigint 一个很小的整数。有符号的范围是-128到127,无符号的范围是0到255。 个小整数。有符号的范围是-32768到32767,无符号的范围是0到65535。 一个正常大小整数。有符号的范围是-2147483648到2147483647,无符号的范围是0到4294967295。 一个大整数。有符号的范围是-9223372036854775808到9223372036854775807,无符号的范围是0到 18446744073709551615。 M是显示宽度而D是小数的位数。一个小(单精密)浮点数字。不能无符号。允许的值是3.402823466E+38到-1.175494351E-38,0 和1.175494351E-38到3.402823466E+38。 一个正常大小(双精密)浮点数字。不能无符号。允许的值是-1.7976931348623157E+308到2.2250738585072014E-308、 0和2.2250738585072014E-308到1.7976931348623157E+308。
插入数据 语法: 语法: insert into 表名(列1,列2,列3…..) values(值1,值2,值3……)
说明: 说明: 列名两侧不加单引号,值两侧需加上单引号。 1、如果列是字符型和日期型,对应的值必须加上单引号。 2、如果列是数值型,对应的值可以加上单引号,也可不加。 示例: 示例: insert into stu_info(stu_name,stu_age,stu_date) values(‘张三’,‘20’,‘2008-10-12 12:20:20’); insert into stu_info(stu_name,stu_age,stu_date) values(‘张三’,20,‘2008-10-12’); 插入数据,语法相对简单,但要注意字段类型的对应。如 int 型字段,写入汉字,显示是错。
float[(m,d)]
double[(m,d)]
decimal[(m,d)]
一个未压缩(unpack)的浮点数字。不能无符号。与double类似。 M是显示宽度而 D是小数的位数。 decimal的别名。
number [(m,d)]
MySQL列类型 列类型
字符类型
char(n) varchar(m) blob 或 text longblob longtext 定长字符串。m为字符长度。 变长字符串,m为字符长度。 大文本字段,如 新闻内容等。 大text存储的空间更大。
日期类型
datetime date timestamp 日期+时间。'YYYY-MM-DD HH:MM:SS'
只有日期,没有时间。 自动更新列,它会自动到得当前数据的插入或更新时间。在使用,可视为int来对待。
char和varchar: 和 : 在VARCHAR列中的值是变长字符串。你可以声明一个VARCHAR列是在1和255之间的任何长度,就像 对CHAR列。然而,与CHAR相反,VARCHAR值只存储所需的字符,外加一个字节记录长度,值不被 填补;相反,当值被存储时,拖后的空格被删去。
修改表
修改表的完整语法: ALTER [IGNORE] TABLE tbl_name alter_spec [, alter_spec ...] alter_specification: ADD [COLUMN] create_definition [FIRST | AFTER column_name ] or ADD INDEX [index_name] (index_col_name,...) or ADD PRIMARY KEY (index_col_name,...) or ADD UNIQUE [index_name] (index_col_name,...) or ALTER [COLUMN] col_name {SET DEFAULT literal | DROP DEFAULT} or CHANGE [COLUMN] old_col_name create_definition or MODIFY [COLUMN] create_definition or DROP [COLUMN] col_name or DROP PRIMARY KEY or DROP INDEX index_name or RENAME [AS] new_tbl_name or table_options
\\ 一个反斜线(“\”)符。
2、数值写法: 数值写法:
有效整数的例子: 1221 0 -32 有效浮点数的例子: 294.42 -3、NULL32032.6809e+10 148.00
3、NULL值 NULL值
NULL值意味着“无数据”并且不同于例如数字类型的0为或字符串类型的空字符串。
4、大小写: 大小写:
创建表举例
示例1 示例1:
创建一个学生表,包括id(自动编号)stu_name(学生姓名) stu_age(年龄) stu_fee(分数)字段。 要求:id主键,stu_fee的默认值为0。 create table stu_info ( id int primary key auto_increment, stu_name varchar(50), stu_age int, stu_fee double(4,2) default 0, stu_date datetime ) ENGINE=InnoDB DEFAULT CHARSET=gbk; Engine :指定表的类型。一般为innodb Charset:设置表的编码,不设置,按照数据库的设置。
创建表举例
示例2 示例2:
/* 创建表演示 主键 */ create table stu_info ( stu_id int primary key auto_increment, stu_name varchar(50), stu_age int, grade_name varchar(20), class_name varchar(20), subject varchar(20), sex varchar(10), fee double(4,2), systime datetime ); 演示使用SQL创建表以及通过SQLyog工具来创建表。 Code: code/create stu_info.txt
修改数据 语法: 语法: update 表名 set 列1=‘值1’, 列2=‘值2’,列3=‘值3’….. [where 条件 ]
说明: 说明: 列名两侧不加单引号,值两侧需加上单引号。 1、如果列是字符型和日期型,对应的值必须加上单引号。 2、如果列是数值型,对应的值可以加上单引号,也可不加。 示例: 示例: update stu_info set stu_name=‘张三’; update stu_info set stu_name=‘李四’,stu_fee=’90.22’ where id=20 修改数据,使用set来指定修改哪些字段,用where来选定修改的范围。
初识MySQL 初识
MySQL数据库:由于表、视图、过程等数据库对象组成的。我们这里先 重点看一下表的应用。
MySQL基本语法 基本语法
1、字符串的写法: 字符串的写法:
用单引号(')或双引号("))包围。例如: ‘a string‘ “another string” ‘开源中国’ 转义符: \‘ 一个单引号(“'”)符。 \“ 一个双引号(“"”)符。