这两天主要在学习数据库基础,虽然很早之前看过了,但是由于太久没用,很多都不太记得了,就当是重新复习一遍吧。
现在主要是数据库和数据表的操作:
用cmd进行学习mysql:
1、mysql的启动,net start mysql
停止,net stop mysql
2、登录命令,mysql -u用户名 -p密码,如mysql -uroot -p123456
或者:mysql -u用户名 -p密码 -P端口名 -h服务器名称,如mysql -uroot -p123456 -P3306 -h127.0.0.1
3、查看数据库,SHOW DATABASES;
4、创建数据库,CREATE DATABASE [IF NOT EXISTS] 数据库名称;
[IF NOT EXISTS]表示如果数据库不存在就创建,存在就没事;如果不写的话若数据库存在就会报错。
[]中括号表示可写可不写。
5、使用数据库,USE 数据库名称;
6、查看正在使用的数据库,SELECT DATABASE();
7、创建数据表,CREATE TABLE [IF NOT EXISTS] 数据表名称(
列名称 数据类型,
列名称 数据类型,
......
);
如:mysql> CREATE TABLE tb1(
-> username VARCHAR(20),
-> age TINYINT UNSIGNED,
-> salary FLOAT(8,2) UNSIGNED
-> );
其中,UNGIGNED表示数据不能为负数,FLOAT(8,2)表示数据共有8位,小数点有2位。
8、查看数据表,SHOW TABLES;
9、查看数据表结构,SHOW COLUMNS FROM数据表名称;
10、插入记录,INSERT [INTO] 数据表名称 [列名称] VALUES(赋值);
如:INSERT tb1 VALUES('TOM',25,4396.77);
或者:INSERT tb1(username,salary) VALUES('JACK',6666.66);
11、记录查找,SELECT 表达式 FROM 数据表名称;如SELECT * FROM tb1;
12、设置空值和非空,只需在创建数据表的时候在后面加上NULL或者NOT NULL;
如:mysql> CREATE TABLE tb1(
-> username VARCHAR(20) NOT NULL,
-> age TINYINT UNSIGNED NULL,
-> salary FLOAT(8,2) UNSIGNED NULL
-> );
13、自动编号,AUTO_INCREMENT。注意:必须与主键组合使用,默认情况下,初始值为1,每次的增量为1。
14、主键约束,PRIMARY KEY。每张表只能存在一个主键,保证记录的唯一性,自动为NOT NULL。
如:mysql> CREATE TABLE tb3(
-> id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
-> username VARCHAR(30) NOT NULL
-> );
15、唯一约束,UNIQUE KEY。每张表可以存在多个,可以保证记录的唯一性,可以为空值。
16、默认约束,DEFAULT。当插入记录时,如果没有明确为字段赋值,则自动赋予默认值。
如:mysql> CREATE TABLE tb6(
-> id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
-> username VARCHAR(20) NOT NULL UNIQUE KEY,
-> sex ENUM('1','2','3') DEFAULT '3'
-> );