您的位置:首页 > 数据库 > MySQL

【菜鸟数据库学习日记】从头开始学MySQL(1)

2017-01-11 21:20 218 查看
SQL:一种关系数据库管理系统(Relational Database Management System ,RDMS)。

原子性:已被分割成最小块,不能被进一步分割的性质。

1,首先创建数据库。mysql> 为数据库cmd窗口每条命令的行标,命令以分号结尾,回车执行,不加分号回车为换行。数据库无视大小写,但是为了明确区分命令语句和各种名称、参数,命令语句全部大写,名称全部小写或首字母小写的驼峰式或小写单词下划线连接,不能用空格。

mysql> CREATE  DATABASE  test;   test是数据库名称

2,创建完之后进入数据库。

 mysql>USE test;

3,创建表   不同字段使用不同格式的数据类型,可以在字段声明后面添加,同时可以限定该字段的最大数据长度,sql使用的字段和Java不一样,具体要看情况使用,字段声明中加入 NOT NULL表示该字段不接受空值,如果赋值过程传入空值将会报错;DEFAULT 后跟字段的一个值为对该字段设置的默认值,如果字段设置为非空且有默认值,传值为空值时不报错,直接赋值为默认值。

mysql> CREATE TABLE table1

      ->( id  INT(10),

      ->name VARCHAR(6) NOT NULL,

      ->birthday    DATETIME NOT NULL DEFAULT ‘1999-09-09’

      ->); 

4,检查创建的表,列出表的字段,数据类型,null(YES/NO是否允许空值);Key(键);Default(字段默认值);Extra 构成一个表显示在cmd窗口,只能看表结构,不能看到内容。DESCDESCRIBE的缩写,两个关键词的效果一致。

mysql> DESC table1;

5,删除表。已存在的表不能重复创建,只能删除之后再创建,删除命令无论有没有数据都会把表删除,之后就找不回来了。

mysql> DROP TABLE table1;

6,向表中添加数据。列名顺序必须和值的顺序完全对应,输入文本类型的值都要加单引号,如CHAR,VARCHAR,DATE,BLOB.数值不用加单引号,如INT,DEC等

mysql>INSERT INTO table(column_name1,column_name2...)VALUES('value1','value2',...);

 这里容易报错:

字段完整但少输入一个字段的值 / 输入值完整但少了一个字段  /  输入的值没有用逗号隔开

ERROR  1136-Column count doesn't match value  count at row!

输入的字段值格式和声明时的不相符

ERROR  1064 - 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 'INSERT INTO your_table(id,name,birthday,gender)VALUES

一个文本字段值没有加单引号

ERROR 1054 - Unknown column 'F' in 'field list'

7,insert语句的三种变形。

     (1)mysql> INSERT INTO your_table(column2,column1,column3,...)VALUES('value2','value1','value3',...);

               语句中列名称可以不按声明时的顺序,但是改变顺序之后,赋值顺序也要改。

      (2)mysql> INSERT INTO your_table        VALUES('value1','value2','value3','value4');

               列名称可以省略,但是省略之后赋值必须对所有字段进行,不能少任何一个,且顺序必须完全按照声明顺序,不能错乱。

       (3)mysql> INSERT INTO your_table(column1,column3)VALUES('value1','value3');

               可以对所有字段的一部分进行插入值操作,未赋值字段值为空,赋值需要严格按照一一对应的规则。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: