本地连接:
mysql-u用户名 -p
输入密码 qwe123
mysql-uroot -pqwe123 #18
sudo apt-get install mysql-server #p2 (没有装导入版的)
创建用户
#创建用户
mysql> CREATE USER 'jianeng'@'%' IDENTIFIED BY 'qwe123';#给用户赋予权限
mysql> GRANT ALL ON *.* TO 'jianeng'@'%';#使更改立即生效
mysql>FLUSH PRIVILEGES;#退出
mysql> q
查看在哪个数据库里:
SELECT DATABASE();
查看当前用户:
SELECT USER();
查看有哪些数据库:
SHOW DATABASES;
创建数据库
CREATE DATABASE [IF NOT EXISTS] db_name
mysql>CREATE DATABASE `mydb`;
Query OK,1 row affected (0.00sec)
mysql>CREATE DATABASE `mydb`;
ERROR1007 (HY000): Can't create database'mydb'; database exists
mysql>CREATE DATABASE IF NOT EXISTS `mydb`;
Query OK,1 row affected, 1 warning (0.00sec)
mysql>SHOW DATABASES;+--------------------+
| Database |
+--------------------+
| information_schema |
| mydb |
| mysql |
| performance_schema |
| sys |
| test |
+--------------------+
6 rows in set (0.00sec)
mysql>
删除数据库
DROP DATABASE [IF EXISTS] dbname;
mysql>DROP DATABASE `mydb`;
Query OK, 0 rows affected (0.00sec)
mysql>DROP DATABASE `mydb`;
ERROR1008 (HY000): Can't drop database'mydb'; database doesn't exist
mysql>DROP DATABASE IF EXISTS `mydb`;
Query OK, 0 rows affected,1 warning (0.00sec)
mysql>
注意:SQL语句必须以分号结尾
打开数据库
USE 数据库名称
进入mysql后,使用SELECT DATABASE();后会发现当前并没有进入到某个数据库中,需要使用use来进入某个数据库中。
查看数据库中的表
数据表(或称表)是数据库最重要的组成部分之一,是其他对象的基础
查看数据表列表SHOW TABLES [FROM db_name]
SHOW TABLES查看当前数据库中的数据表。
SHOW TABLES FROM 'mysql'查看mysql这个数据库中的数据表。
创建数据表
CREATE TABLE [IF NOT EXISTS] table_name(
column_name data_type,
)
例:
mysql>CREATE TABLE `tb1`(-> `id` INT comment '编号',-> `name` VARCHAR(20) comment '名字'
->);
Query OK, 0 rows affected (0.02sec)
mysql>
#comment 用来说明的,给人看的
数据类型:
INT 整数类型
VARCHAR 变长字符串
查看创建的表:
SHOW CREATE TABLE tb_name;(G)表的创建详情
例:
mysql>SHOW CREATE TABLE `tb1`G************** 1. row **********************Table: tb1
Create Table: CREATE TABLE `tb1` (
`id` int(11) DEFAULT NULL,
`name` varchar(20) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf81 row in set (0.00sec)
mysql>
查看数据表结构
DESCRIBE tb_name;
SHOW COLUMNS FROM tb_name;
例:
mysql>DESCRIBE `tb1`;+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| name | varchar(20) | YES | | NULL | |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.00 sec)
删除数据表
DROP TABLE 'tablename';
单表中数据的增、删、查、改
INSERT 插入数据
方法一:
INSERT [INTO] table_name [(column_name,...)]
{VALUES|VALUE} ({expr|DEFAULT},...),(...),...;
方法二:
INSERT [INTO] tbl_name SET col_name={expr|DEFAULT},...;
例:
mysql>INSERT INTO `tb1`(id,name)-> VALUES(1,'张三'),-> (2,'李四')->;
Query OK,2 rows affected (0.00sec)
Records:2Duplicates: 0 Warnings: 0
mysql> INSERT INTO tb1 SET id=3,name='王五';
Query OK,1 row affected (0.01 sec)
SELECT 查询数据
SELECT * FROM tab_name [WHERE];
例:
mysql> SELECT *FROM tb1;+------+--------+
| id | name |
+------+--------+
| 1 | 张三 |
| 2 | 李四 |
+------+--------+
2 rows in set (0.00 sec)
UPDATE 更新数据
UPDATE tb_name
SET col_name1={expr1|DEFAULT}[,col_name2={expr2|DEFAULT}]...
[WHERE where_condition];
#例:
mysql> SELECT *FROM tb1;+------+--------+
| id | name |
+------+--------+
| 1 | 张三 |
| 2 | 李四 |
| 3 | 王五 |
| 3 | 赵六 |
+------+--------+
4 rows in set (0.00sec)
mysql>UPDATE tb1-> SET id=3;
Query OK,4 rows affected (0.01sec)
Rows matched:4 Changed: 4Warnings: 0
mysql> UPDATE tb1 SET id=1 WHERE name='张三';
Query OK,1 row affected (0.00sec)
Rows matched:1 Changed: 1Warnings: 0
mysql> UPDATE tb1 SET name='佳能' WHERE id>1;
Query OK,3 rows affected (0.10sec)
Rows matched:3 Changed: 3 Warnings: 0
DELETE 删除数据
DELETE FROM tbl_name [WHERE where_conditon];
不添加WHERE则会删除全部记录
#例:
mysql> SELECT *FROM tb1;+------+--------+
| id | name |
+------+--------+
| 1 | 张三 |
| 3 | 佳能 |
| 3 | 佳能 |
| 3 | 佳能 |
+------+--------+
4 rows in set (0.00sec)
mysql> DELETE FROM `tb1` WHERE id=3;
Query OK,1 row affected (0.06sec)
mysql>DELETE FROM `tb1`;
Query OK,3 rows affected (0.13sec)
mysql> SELECT *FROM `tb1`;
Empty set (0.00sec)
mysql>
#mysql 数据类型
整型 浮点型 日期类型 字符型
mysql>create table tb2(->id INT,-> name VARCHAR(20), #指定长度,最多65535个字符。 ***变长
-> sex CHAR(4), #指定长度,最多255个字符。 ***定长
-> price DOUBLE(4,2), #双精度浮点型,m总个数,d小数位
-> detail text, #可变长度,最多65535个字符
-> dates DATETIME, #日期时间类型 YYYY-MM-DD HH:MM:SS
-> ping ENUM('好评','差评') #枚举, 在给出的value中选择
->);
insert into tb2 value(1,'裤子','男',20.0,'这条裤子超级好!!!',now(),'好评');
作业:
建一张学生表 包含(id,姓名,年龄,性别)。
1.增加三条数据
2.查询所有数据
3.删除id =3的数据,
4.将性别为女的,修改为男
以上就是MySQL数据库基本操作(一)的全部内容。